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