因工作需要大量账号登陆进某网站做统一修改,故使用 selenium 模拟登陆操作.但是遇到一个问题: 如果我不用 headless,眼瞅着他干活,一切都没问题 但是如果我用了 headless 参数,那么我有个正则,就匹配不到.导致无法完成. 请教下,用了 headless 参数,获取的 browser.page_source 不一样吗? 请教各位,多谢!
1
p2pCoder 2018-02-08 10:20:40 +08:00
你应该做的是 对比下 page_source,看哪里不一样
|
2
Len1133 2018-02-08 10:47:29 +08:00
可能是 css 或 js 渲染没打开
|
3
coolloves OP 打印了 page_source,对比 i 了下,应该是 wait.until 的元素没定位对,所以,我要抓取的元素还没加载上,我就 re 去匹配了
|
4
Nick2VIPUser 2018-02-08 12:55:31 +08:00 via iPhone
加延时试试~
|
5
coolloves OP 之前正常可能是网速问题?
我已经修改 wait.until 的元素为我要匹配的,已经正常,感谢各位 |
6
WaterTr 2018-02-09 12:53:49 +08:00
其实我更好奇的是,为啥我 chromeheadless 死活不行,后来还是用 firefox 了。。。
|
7
coolloves OP @WaterTr 是不是 webdriver 和 chrome 的版本不匹配?
我用的 cent,虽然是基于 62 版本的,但是提示版本不对,专门下了个官方的 chrome 才可以. |