Python 错误:";无法滚动到视图中";,等待_clickable不';行不通
我有一个Python脚本,可以解析Tor上的网站。它经常会遇到验证码,而司机是在无头模式下运行的,所以我不能自己填写验证码。验证码如下所示: 我的想法是截取验证码并输入需要选择的图片的位置(1到15)。我计划使用Python 错误:";无法滚动到视图中";,等待_clickable不';行不通,python,selenium,Python,Selenium,我有一个Python脚本,可以解析Tor上的网站。它经常会遇到验证码,而司机是在无头模式下运行的,所以我不能自己填写验证码。验证码如下所示: 我的想法是截取验证码并输入需要选择的图片的位置(1到15)。我计划使用驱动程序来实现这一点。通过\u id查找\u元素,\u并对每张图片进行迭代。但是我得到了一个错误,无法滚动到视图中。我试着使用wait_until_clickable方法,但没有成功 在那之后,我尝试使用ActionChain并在单击之前移动到元素,但这在尝试执行移动操作时引发了错误r
驱动程序来实现这一点。通过\u id
查找\u元素,\u并对每张图片进行迭代。但是我得到了一个错误,无法滚动到视图中
。我试着使用wait_until_clickable
方法,但没有成功
在那之后,我尝试使用ActionChain
并在单击之前移动到元素,但这在尝试执行移动操作时引发了错误rect is undefined
执行此操作的代码:
captcha=captcha.split(','))
fenetre=browser.driver.find\u element\u by\u id('capouter'))
动作=动作链(browser.driver)
动作。移动到元素(fenetre)
actions.perform()
actions.reset_actions()
对于验证码中的i:
睡眠(5)
browser.driver.find_element_by_id(“Cap”+str(i))。单击()
我首先拆分包含位置的字符串(示例1、5、7)。然后我转到Captcha窗口,因为它使它增长。我认为这是必要的,能够点击,但它没有改变任何事情。之后,我通过其id(Cap+图像上的位置)搜索复选框并单击它
我不知道你是否有解决我问题的办法或变通办法。我会发布页面的HTLM代码,以备您需要
HTML代码如下所示(太长,无法发布):
机器人检查
.capcheckbox{display:none}.select_all{white space:pre-line;user select:all}.capcheckbox+label{position:relative;height:60px;width:60px;display:block;transition:box shadow.2s,border.2s;border:2px solid#ccc;光标:指针;边框半径:30px;方框阴影:inset 0 1px 1px rgba(0,0,0,1)}.capcheckbox+label:hover{border:solid 4px#AF0E86;box shadow:0 0 1px#AF0E86}.capcheckbox:checked+label{border:solid 4px#AF0E86;box shadow:0 0 0 0 1px#AF0E86}.capcheckbox:checked+label:在{content:'\2713\0020'之后;高度:1em;位置:绝对;顶部:0;左侧:0;底部:0;右侧:0;边距:自动;颜色:afe86;字体大小:1;字体中心:40px;文本对齐:40px}{宽度:自动;边距:0
[...]
警告
Javascript已启用。若要继续,请禁用Javascript!
-在地址栏中键入“about:config”。
-搜索“javascript”。
-将“javscript.enabled”设置为“false”。
.jswarning{显示:无!重要;}
你是人类吗?
选择包含钞票的所有图像
[图3至15]
尝试等待“元素定位”而不是可点击。尝试等待“元素定位”而不是可点击