如图所示,使用 selenium 打开的 chrome 登录 12306 的时候左下角总是弹出一个"javascript:;",然后点击登录就没啥反应了
chrome 的配置如下:
但是自己手动打开的 chrome 就可以正常登录,真是有点儿懵呀
弹出一个"javascript:;" 是长啥样的,可以尝试使用 get_cookies() 和 add_cookie(cookie_dict) 的方式看下能不能绕过登录页面
不用懵,说明你开始一步一步接触细节和深水区了。这些是成为专家的必经之路,也是差距所在。
selenium 打开的 chrome 用的模式和手动打开有点差异的,有点接近于无痕模式,可以搜索引擎详细查一下。
至于左下角这个,一般是表示焦点所在按钮对应的 url ,js 事件跳转的一般也是会这么显示。你可以对比下看普通模式下如果用 tab 选中登录按钮,左下角的提示是不是也一样是这样?
加了检测,不用怀疑
window.navigator.webdriver 改成 undefined 试试
我直接用的无痕模式
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
options.addArguments("--incognito");//隐身模式
使用这个来抢票吗?不会给检测到人机吗?
得看你的需求了,
1-如果你想定时自动化登录去做一些事,那就得想法子绕开校验( ,如上楼所说,请慎重)
还有如果是通过 webdriver 自带 click 无法点击,那就试着 webdriver 打开页面后手动点击试试,如果可以,那就尝试用 webdriver 执行 js 代码 ($("input[xx]").click())
2-如果只是一次性的,那你就手动登录后,将 cookie 拷贝出来,在 webdriver 中设置好 cookie 绕开登录
BYPASS 这个软件可以了解一下,用来抢票效果还行。免费。