https://agent.loadbook.in/#/login 当我转到注册表单时,该表单上有一个复选框,因为我同意该条件。这是一个输入标签复选框。当我通过ID选择代码时,以及当我执行click或send_key提交其显示复选框时,都无法点击。
以下所有方法均无效
driver.find_element_by_xpath('//div[@class="switch__container"]//input').click()
driver.find_element_by_xpath('//div[@class="switch__container"]//input').send_keys(Keys.ENTER)
driver.find_element_by_xpath('//div[@class="switch__container"]//input').submit()
driver.find_element_by_xpath('//div[@class="switch__container"]//input').send_keys("after")
driver.find_element_by_xpath('//div[@class="switch__container"]//label').click()
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://agent.loadbook.in/#/login")
driver.find_element_by_partial_link_text("Create an account").click()
尝试:
driver.find_element_by_xpath('//div[@class="switch__container"]//input').click()
# driver.find_element("name","username").send_keys("test")
# driver.find_element("name","email").send_keys("test@test.com")
# driver.find_element("name","phone").send_keys("99999999")
# driver.find_element("name","password").send_keys("12345")
除了NoSuchElementException作为例外: 打印(“找不到”)
selenium.common.exceptions.ElementNotVisibleException:消息: 元素不可交互
答案 0 :(得分:0)
您需要等待,以便使用Selenium的Explicit Wait功能在DOM中显示元素。
使用WebDriver.get()函数打开页面
driver.get("https://agent.loadbook.in/#/login")
Click“创建帐户”链接:
driver.find_element_by_link_text("Create an account").click()
Wait,直到复选框加载并变为可点击为止:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CLASS_NAME, "switch_div")))
单击复选框:
driver.find_element_by_class_name("switch_div").click()
更多信息:How to use Selenium to test web applications using AJAX technology
答案 1 :(得分:0)
在与文本关联的复选框上click()
为我同意条款和条件和隐私政策,您必须为引入 WebDriverWait 元素可点击,您可以使用以下解决方案:
代码块:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
# options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get("https://agent.loadbook.in/#/login")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Create an account"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "label[for='switch-shadow']"))).click()
浏览器快照: