我试图在这里使用selenium来填写耐克网站上的注册表格:https://www.nike.com/register,但是它找不到使用xpath或id的元素。
以下是我迄今尝试过的:
chrome_options = Options()
chrome_options.add_argument("--incognito")
chrome_options.add_argument("start-maximized")
driver=webdriver.Chrome('/Users/cameron/Desktop/untitled folder/chromedriver')
driver.get('https://www.nike.com/gb/membership')
main_window = driver.current_window_handle
driver.find_element_by_xpath('//*[@id="69dcecd3-722e-42c0-aa82-358c4160ae8d"]/div/div/div[2]/a').click()
WebDriverWait(driver, 5)
driver.find_element_by_xpath('/html/body/div[2]/div[3]/div[4]/form/div[1]/input').click()它在浏览网站时运行良好,但在填写注册表单时找不到元素
发布于 2020-08-17 21:12:52
要将字符序列发送到电子邮件地址字段,您必须为WebDriverWait导出element_to_be_clickable(),并且您可以使用以下任何一个Locator Strategies
使用
CSS_SELECTOR:20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,driver.get('https://www.nike.com/gb/membership') WebDriverWait(driver,aaria-label=‘Join Join’)).click() WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"inputname='emailAddress'"))).send_keys("Cameroon08@stackoverflow.com") )
使用
XPATH:driver.get('https://www.chegg.com/auth?action=login&redirect=https%3A%2F%2Fwww.chegg.com%2F') WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//input@name='emailAddress'"))).send_keys("Cameroon08@stackoverflow.com") )//a@aria-label=‘联合我们’和@href='https://www.nike.com/register'"))).click() WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,“//input@name=‘emailAddress’”))).send_keys(“Cameroon08@stackoverflow.com”))
从selenium.webdriver.support.ui导入WebDriverWait从selenium.webdriver.common.by导入从selenium.webdriver.support导入expected_conditions作为EC

https://stackoverflow.com/questions/63457959
复制相似问题