CrackGeetest
CrackGeetest copied to clipboard
不能获得没有缺口的图片
截图得到的两张图都有缺口,不能通过对比得到缺口
@boss233 解决没???
@boss233 @goodbad3
没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可
@mrlonelyjtr ,大佬,这个语句往哪儿加呀??
@mrlonelyjtr ,明白了,谢谢
@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!
@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!
我也遇到同样的问题了,怎么解决了
@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!
我也在看这本书,为这本书建了一个QQ群805370297,方便大家讨论
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊
我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊
我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊
我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。
呃呃呃。。。。或者可以用b站这种老版极验验证试试
@mrlonelyjtr ,明白了,谢谢
在那块加呀?是不是直接初始化网页时?
在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛
不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊
我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。
呃呃呃。。。。或者可以用b站这种老版极验验证试试
b站可以的
@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可
这个fullbg是什么?能贴一下完整的代码吗?
self.browser.execute_script(document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style",""))
这个js代码在浏览器console中调试是可以的,为什么这里执行报错
@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可
这个fullbg是什么?能贴一下完整的代码吗?
self.browser.execute_script(document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style",""))
这个js代码在浏览器console中调试是可以的,为什么这里执行报错
你可以看一下这个文件里的get_position方法 https://github.com/mrlonelyjtr/Web-Crawler/blob/master/Chapter8/滑动验证码/hua_dong.py 我做这个实验的时候是8、9月左右,不确定现在的极验验证还能不能work了
还有直接document这么直接找dom元素好像不适用,应该要driver.find_element的
@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可
这个fullbg是什么?能贴一下完整的代码吗?
self.browser.execute_script(document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style",""))
这个js代码在浏览器console中调试是可以的,为什么这里执行报错你可以看一下这个文件里的get_position方法 https://github.com/mrlonelyjtr/Web-Crawler/blob/master/Chapter8/滑动验证码/hua_dong.py 我做这个实验的时候是8、9月左右,不确定现在的极验验证还能不能work了
还有直接document这么直接找dom元素好像不适用,应该要driver.find_element的
感谢!
你的这个可以使用,我用这行代码
self.browser.execute_script('document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style","")')
替换你的这行代码
self.browser.execute_script("arguments[0].setAttribute(arguments[1], arguments[2])", fullbg, "style", "")
也是可以的
@lllllllai27 你成功解决了吗?能否给个代码。。
@lllllllai27 你成功解决了吗?能否给个代码。。
你可以看看 https://github.com/lllllllai27/test/blob/master/myCreckGeetest_v2.py 可以获得图片,但是滑动轨迹方面不太好,经常验证不了
(前面代码...)
def get_full_img(self): '''js获取不带缺口图片''' js = 'document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style","")' self.driver.execute_script(js)
def recover_img(self):
'''恢复带缺口图片'''
js = 'document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style","display: none;")'
self.driver.execute_script(js)
''' self.get_full_image()获取完整图 self.recover_img()恢复缺口图,进行滑块拖动 '''