如何在中填写电子邮件地址字段https://www.nike.com/register 使用Selenium和Python
我正在尝试使用selenium在nike网站上填写注册表:但它无法使用xpath或id找到元素 以下是我迄今为止所尝试的:如何在中填写电子邮件地址字段https://www.nike.com/register 使用Selenium和Python,python,selenium,xpath,css-selectors,webdriverwait,Python,Selenium,Xpath,Css Selectors,Webdriverwait,我正在尝试使用selenium在nike网站上填写注册表:但它无法使用xpath或id找到元素 以下是我迄今为止所尝试的: chrome_options = Options() chrome_options.add_argument("--incognito") chrome_options.add_argument("start-maximized") driver=webdriver.Chrome('/Users/cameron/Desktop/unt
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()
它在浏览网站时工作正常,但在尝试填写注册表单时找不到元素要将字符序列发送到电子邮件地址字段,您必须使元素可点击()
,并且您可以使用以下任一项:
- 使用
:CSS\u选择器
driver.get('https://www.nike.com/gb/membership') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[aria-label='Join Us'][href='https://www.nike.com/register']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='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, "//a[@aria-label='Join Us' and @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")
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
- 浏览器快照:
元素可点击()
,并且您可以使用以下任一选项:
- 使用
:CSS\u选择器
driver.get('https://www.nike.com/gb/membership') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a[aria-label='Join Us'][href='https://www.nike.com/register']"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='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, "//a[@aria-label='Join Us' and @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")
- 注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
- 浏览器快照:
谢谢你,我使用了CSS选择器方法,它很有效perfectly@Cameroon08好消息!!!很高兴能够帮助你!!!请点击我的答案旁边的空心记号,它就在votedown箭头的下方,所以记号变成绿色。我会做的,你如何获得CSS选择器,我似乎无法为其他元素获得正确的选择器。例如,密码字段在使用chromeThank的CSS选择器时不起作用。我使用了CSS选择器方法,它起作用了perfectly@Cameroon08好消息!!!很高兴能够帮助你!!!请点击我的答案旁边的空心记号,它就在votedown箭头的下方,所以记号变成绿色。我会做的,你如何获得CSS选择器,我似乎无法为其他元素获得正确的选择器。例如,使用chrome中的CSS选择器,密码字段不起作用