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

标签 python selenium selenium-webdriver captcha

我想填写一个文本框,然后使用 python 单击提交按钮。点击提交按钮后,opo up 会出现一个需要解决的验证码。我想进一步阅读该验证码图像,将其转换为文本并输入安全机制。这是我已经尝试过的'

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

最佳答案

由于按钮位于 View 之外,因此无法单击该按钮。 您需要滚动然后单击。

这里是滚动到 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()

关于python - 我想填写一个文本框,然后使用 python 单击提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52699217/

相关文章:

使用 iso-8859-1 编码的主题进行 Python IMAP 搜索

python - 如何将一个数据框中的一列字符串值映射到另一个数据框中的另一列?

html - Firefox OS 应用自动化

python - 如何使用带有下拉菜单的 Selenium 来抓取历史数据?

selenium - 使用 Selenium IDE 解析查询字符串值的 URL

python-3.x - 如何使用selenium python自动扫描二维码

python - 将列表列表的输出格式化为列

使用互斥组时的Python argparse AssertionError

javascript - 使用 Selenium(Javascript) 打开第二个边缘窗口时出现 WebDriverError : Unknown error,

java - 需要一个复杂的 cssSelector 来区分同一页面上的两个保存按钮