我想填写一个文本框,然后使用python单击Submit按钮

时间:2018-10-08 09:28:48

标签: python selenium selenium-webdriver captcha

我想填写一个文本框,然后使用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

1 个答案:

答案 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()