解决使用无头浏览器定位不到的坑

在服务器上运行时,使用无头浏览器,结果发现很多元素定位不到

option = webdriver.ChromeOptions()
option.add_argument('--no-sandbox')
#以无头模式运行
option.add_argument('--headless')
option.add_argument('lang = zh_CN.UTF - 8')
driver = webdriver.Chrome(chrome_options=option)
driver.maximize_window()
driver.implicitly_wait(5)



打印日志只提示
ERROR 出现错误,错误信息 Message: element not interactable
元素定位不到,但是在有UI的情况下所有元素都能正常定位
后面查看错误截图发现

 

在使用无头浏览器后,driver.maximize_window()这句代码并没有生效

所以需要手动设置浏览器窗口大小

添加以下代码

option.add_argument('--window-size=1920,1080')

后续所有定位都可以正常定位

 

posted @ 2020-11-24 14:57  叶先生啊  阅读(1622)  评论(1编辑  收藏  举报