我想填写一个文本框,然后使用python单击Submit按钮。单击提交按钮后,会弹出一个要验证的验证码。我想进一步阅读该验证码图片,将其转换为文本并输入安全机制。这是我已经尝试过的东西
import selenium
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('www.abc.com')
id_box = browser.find_element_by_id('EnterNo')
id_box.send_keys('1234567890')
到目前为止,代码正在运行。但是,此后我无法单击“提交”按钮,即以下代码不起作用
submit_button = browser.find_element_by_name('SubmitButton')
submit_button.click()
这将引发以下错误:
ElementNotInteractableException: Message: Element <input id="SubmitButton" name="SubmitButton" type="hidden"> could not be scrolled into view
答案 0 :(得分:2)
似乎无法单击该按钮,因为该按钮不在视线范围内。 您需要滚动,然后单击。
这是滚动到Web元素并单击它的示例JS代码。
element = driver.find_element_by_id("element id");
driver.execute_script("arguments[0].scrollIntoView(true); arguments[0].click();", element);
更新
动作也可以做到:
actions = ActionChains(driver)
element = driver.find_element_by_id("element id")
actions.move_to_element(element).click(element).perform()