<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>
最近在做中国庭审公开网数据分析的时候发现每次打开一个新的页面都会触发滑块验证,就长下面这个样子
![在这里插入图片描述](upload/attach/202204/944393_ECD3BZG2CS55THA.jpg)
本以为使用selenium定位到滑块元素拖动即可,满心欢喜开始写代码,测试后发现还是高兴太早了~~~
![请添加图片描述](upload/attach/202204/944393_FXPCNDW73BH7D7N.jpg)
貌似有点东西,原以为是因为检测到了selenium的原因,添加防检测代码
后陆续尝试过,降低chrome版本,修改chromedriver驱动文件,均不成功。
现在看来是真的有点东西!!!正在一筹莫展时,直到看到了这个
![在这里插入图片描述](upload/attach/202204/944393_9ZW3MMKHXBA6A7R.jpg)
经过分析网页源码发现原来是使用了阿里云盾的人机效验,详细介绍请参考官方产品文档:阿里云验证码产品文档
![在这里插入图片描述](upload/attach/202204/944393_SXSMM9SYT8TGMNR.jpg)
分析了一波效验规则及原理,搞明白原理就好办了
![请添加图片描述](upload/attach/202204/944393_74Z3U973N6TWQDT.jpg)
完美解决
54bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5k6h3y4K6k6r3&6Q4x3X3g2F1k6i4c8Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5c8Y4q4I4i4K6g2X3x3K6R3I4y4e0b7&6y4o6S2Q4x3V1j5^5y4e0t1H3y4o6j5%4x3b7`.`.
<table><tr><td bgcolor=orange>本文仅供学习交流使用,如侵立删!</td></tr></table>
chrome_options.add_experimental_option(
'excludeSwitches'
, [
'enable-automation'
])
chrome_options.add_argument(
'--disable-blink-features=AutomationControlled'
)
chrome_options.add_experimental_option(
'excludeSwitches'
, [
'enable-automation'
])
chrome_options.add_argument(
'--disable-blink-features=AutomationControlled'
)
def
__init__(
self
):
chrome_options
=
Options()
chrome_options.add_experimental_option(
'excludeSwitches'
, [
'enable-automation'
])
chrome_options.add_argument(
'--disable-blink-features=AutomationControlled'
)
self
.driver
=
webdriver.Chrome(
'./config/chromedriver.exe'
, options
=
chrome_options)
self
.wait
=
WebDriverWait(
self
.driver,
10
,
1
)
self
.driver.maximize_window()
def
run(
self
):
print
(f
'打开首页:03aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4c8A6L8X3N6K6K9r3g2F1i4K6u0W2j5$3!0#2M7Y4c8Q4x3X3g2Y4L8%4k6Q4x3X3g2U0L8W2)9J5c8Y4m8J5k6i4k6A6k6i4N6Q4x3U0M7`.
)
self
.driver.get(
'48bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4c8A6L8X3N6K6K9r3g2F1i4K6u0W2j5$3!0#2M7Y4c8Q4x3X3g2Y4L8%4k6Q4x3X3g2U0L8W2)9J5c8Y4m8J5k6i4k6A6k6i4N6Q4x3U0M7`.
)
pyautogui.dragTo(
1086
,
340
, duration
=
1
)
pyautogui.dragRel(
260
,
0
, duration
=
0.5
)
def
__init__(
self
):
chrome_options
=
Options()
chrome_options.add_experimental_option(
'excludeSwitches'
, [
'enable-automation'
])
chrome_options.add_argument(
'--disable-blink-features=AutomationControlled'
)
self
.driver
=
webdriver.Chrome(
'./config/chromedriver.exe'
, options
=
chrome_options)
self
.wait
=
WebDriverWait(
self
.driver,
10
,
1
)
self
.driver.maximize_window()
[注意]看雪招聘,专注安全领域的专业人才平台!
最后于 2022-4-26 13:33
被拉灯的小手编辑
,原因: