CrackGeetest icon indicating copy to clipboard operation
CrackGeetest copied to clipboard

不能获得没有缺口的图片

Open ljinlin41 opened this issue 6 years ago • 20 comments

截图得到的两张图都有缺口,不能通过对比得到缺口

ljinlin41 avatar Aug 26 '18 08:08 ljinlin41

@boss233 解决没???

goodbad3 avatar Sep 01 '18 12:09 goodbad3

@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可 screen shot 2018-09-15 at 17 05 24

mrlonelyjtr avatar Sep 15 '18 09:09 mrlonelyjtr

@mrlonelyjtr ,大佬,这个语句往哪儿加呀??

goodbad3 avatar Sep 15 '18 09:09 goodbad3

@mrlonelyjtr ,明白了,谢谢

goodbad3 avatar Sep 15 '18 09:09 goodbad3

@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!

whoknowne avatar Oct 02 '18 11:10 whoknowne

@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!

我也遇到同样的问题了,怎么解决了

aesdhj avatar Oct 02 '18 17:10 aesdhj

@goodbad3 老哥,能向你请教一下吗?我也是同样的情况,谢谢!

我也在看这本书,为这本书建了一个QQ群805370297,方便大家讨论

aesdhj avatar Oct 02 '18 17:10 aesdhj

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

CHN2017 avatar Dec 02 '18 08:12 CHN2017

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

mrlonelyjtr avatar Dec 02 '18 11:12 mrlonelyjtr

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊

CHN2017 avatar Dec 02 '18 11:12 CHN2017

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊

我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。

mrlonelyjtr avatar Dec 02 '18 11:12 mrlonelyjtr

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊

我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。

CHN2017 avatar Dec 02 '18 11:12 CHN2017

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊

我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。

呃呃呃。。。。或者可以用b站这种老版极验验证试试

mrlonelyjtr avatar Dec 02 '18 11:12 mrlonelyjtr

@mrlonelyjtr ,明白了,谢谢

在那块加呀?是不是直接初始化网页时?

在get_position方法里加啊,目的不就是为了拿到缺口的坐标嘛

不是啊,缺口的图能拿到 原图拿不到 导致不能对比。这个脚本好像是获取原图时把样式去掉,获取缺口图的时候显示。。。没看懂啊

我说错了,是为了拿原图。有缺口的时候样式有个属性是display:none,我这边就是把这个属性删掉能显示原图,然后恢复就回到最初的有缺口的图了。你可以看极验网站的网页代码,我做这个的时候是8、9月份,不知道现在有没有变化了。 现在貌似没有了今天看了下html没有发现。。。尴尬了、。

呃呃呃。。。。或者可以用b站这种老版极验验证试试

b站可以的

CHN2017 avatar Dec 02 '18 11:12 CHN2017

@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可 screen shot 2018-09-15 at 17 05 24

这个fullbg是什么?能贴一下完整的代码吗? self.browser.execute_script(document.getElementsByClassName("geetest_canvas_fullbg")[0].setAttribute("style",""))这个js代码在浏览器console中调试是可以的,为什么这里执行报错

lllllllai27 avatar Dec 04 '18 07:12 lllllllai27

@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可 screen shot 2018-09-15 at 17 05 24

这个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的

mrlonelyjtr avatar Dec 04 '18 14:12 mrlonelyjtr

@boss233 @goodbad3 没有缺口的图可以把该图所在的canvas中的style属性值设为空,在获取有缺口图的时候再把属性值设为display:none即可 screen shot 2018-09-15 at 17 05 24

这个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 avatar Dec 05 '18 05:12 lllllllai27

@lllllllai27 你成功解决了吗?能否给个代码。。

downdawn avatar Dec 20 '18 06:12 downdawn

@lllllllai27 你成功解决了吗?能否给个代码。。

你可以看看 https://github.com/lllllllai27/test/blob/master/myCreckGeetest_v2.py 可以获得图片,但是滑动轨迹方面不太好,经常验证不了

lllllllai27 avatar Dec 21 '18 07:12 lllllllai27

(前面代码...)

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()恢复缺口图,进行滑块拖动 '''

yilouwangye avatar May 01 '20 15:05 yilouwangye