Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想填写一个文本框,然后使用python单击submit按钮_Python_Selenium_Selenium Webdriver_Captcha - Fatal编程技术网

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

我想填写一个文本框,然后使用python单击submit按钮,python,selenium,selenium-webdriver,captcha,Python,Selenium,Selenium Webdriver,Captcha,我想填写一个文本框,然后使用python单击submit按钮。点击提交按钮后,opo弹出待解决的验证码。我想进一步阅读验证码图像,将其转换为文本并进入安全机制。这是我已经尝试过的 import selenium from selenium import webdriver browser = webdriver.Firefox() browser.get('www.abc.com') id_box = browser.find_element_by_id('EnterNo') id_box.se

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

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
ElementNotInteractiableException:消息:无法将元素滚动到视图中

该按钮似乎无法单击,因为它位于看不见的一侧。 您需要滚动,然后单击

下面是一个示例JS代码,用于滚动到web元素并单击它

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

@德班詹布-这不是一个重复。我想在点击提交按钮后获取验证码并解决它。这是一个完全不同的问题。你为什么把它标记为重复的??重新开始讨论!!!您确定可以单击此元素吗
type='hidden'
在屏幕上没有任何渲染。尝试将ENTER发送到
id\u框
,以触发提交。您还可以调用
id\u box.submit()
,这也会触发表单提交。您好,我尝试了您提到的方法,但我收到以下错误:ElementNotInteractiableException:消息:元素无法滚动到视图中此按钮的输入类型是隐藏的。那么我如何单击它呢?当您手动滚动到它时,您是否可以手动检查它是否可单击以及按钮的类型。它是一个提交按钮,是的,它是可单击的。点击它之后,一个验证码会在一个新的屏幕中弹出。下面是标签信息:你的自动化是否使用我提供的示例中的JS executor滚动到元素?p、 我已经用actions类move&click更新了答案。