qq 登录防爬做的真 NB, WebDriver 都拿它没办法,有大神给个解决思路吗?

2017-11-07 17:19:07 +08:00
 qwertty01

这是地址 https://graph.qq.com/oauth/show?which=Login&display=pc&response_type=code&client_id=101188807&redirect_uri=http%3A%2F%2Fwww.qichacha.com%2Fuser_callbackqq&state=aae388079879ccb2806ff404b80d0b49&scope=get_user_info,add_share 就是第三方登录接口。 例如我想点击:账号密码登录这个链接,WebDriver 会提示 NoSuchElement。下载源页面发现里面没有这个 Element,是好几段 JS 代码。而浏览器显示的是运行 JS 后的页面。 问题来了: 1.我该怎么获取执行 JS 之后的页面? 2.我开启 Chrome console 为什么执行 document.getElementById("switcher_plogin").click() 会成功运行?而在程序里就不可以?

2452 次点击
所在节点    问与答
6 条回复
laoyur
2017-11-07 18:19:39 +08:00
你需要等,等 js 加载完毕,之后的页面才是浏览器里看到的页面
如何等,找具有标志性的元素,等到它 clickable/visible,之后再做你的逻辑
binux
2017-11-07 18:23:21 +08:00
登陆框在 iframe 里
qwertty01
2017-11-07 20:18:42 +08:00
@laoyur
@binux
之前分析页面分析的不仔细,登录框在 iframe,切换到 iframe 就可以找到了。
Dannytmp
2017-11-07 22:10:56 +08:00
@qwertty01 楼主做黑产吗,为么什爬人家 Q 登录呢
anmaz
2017-11-07 22:32:11 +08:00
防爬, 我只服 google
qwertty01
2017-11-08 09:16:07 +08:00
@Dannytmp 我现在在做爬虫,所以研究研究这方面的东西

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/404376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX