[英]How to locate the First name field within shadow-root (open) within the website https://www.virustotal.com using Selenium and Python
[英]How to fill the Email address field within https://www.nike.com/register using Selenium and Python
我正在嘗試使用 selenium 在此處的耐克網站上填寫注冊表: https://www.nike.com/register但使用 Z3D788FA62D7C185A91BEE4C9147 或找不到元素
這是我到目前為止所嘗試的:
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()
它在瀏覽網站時工作正常,但在嘗試填寫注冊表單時找不到元素
要將字符序列發送到Email 地址字段,您必須為element_to_be_clickable()
誘導WebDriverWait ,並且可以使用以下任一定位器策略:
使用CSS_SELECTOR
:
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
瀏覽器快照:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.