我正在尝试自动在adidas上填写注册,并且不确定如何选择复选框,尤其是DOB的下拉列表:
driver = webdriver.Chrome()
driver.get("https://www.adidas.co.uk/on/demandware.store/Sites-adidas-GB-Site/en_GB/MyAccount-Register")
这对复选框不起作用:
driver.find_element_by_id('ffCheckbox').click()
我不知道如何完成DOB的下拉菜单。
最佳答案
为了能够处理目标<fieldset>
,您首先需要切换到适当的iframe
:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver.switch_to_frame(driver.find_element_by_xpath('//iframe[@class="sso-iframe"]'))
然后,您可以处理所需的下拉菜单,例如:
driver.find_element_by_xpath("//a[.='DD']").click() # Open drop-down
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.XPATH,'//span[@data-val="1"]'))).click() # select first day
要单击复选框:
driver.find_element_by_xpath('.//span[@id="consentLabel"]').click()
关于python - Selenium(python3)的下拉列表和复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41828282/