背景:
liunx上装chrome驱动和客户端没能成功,后来安装的是firefox。
环境:
Python 3.6.7
Firefox 68.6.0esr
geckodriver 0.26.0
selenium 3.141.0

遇到问题:
为了检查后台配置的链接是否有问题,写了一个脚本用户检查链接是否能正常打开,其中使用到了selenium
安装:
linux上下载firefox,下载geckodriver驱动器,存放的路径是/usr/bin/geckodriver

在liunx上执行报错:selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process
百度查了一下,
有说是因为使用root用户执行原因,但是实践更换了其他用户执行还是报错;
有说是因为火狐浏览器的版本和驱动器不匹配,但是也不是这个原因,因为java的自动化脚本可以正常执行
解决:
后来查看是因为我写的脚本类似于如下(简易版):

from selenium import webdriver
driver = webdriver.Firefox(executable_path='/usr/bin/geckodriver')
driver.get('http://www.baidu.com')

原因在于火狐浏览器在linux无界面,所以需要给一个无界面执行的操作,修改后如下,如此便能在liunx上执行了

from selenium.webdriver.firefox.options import Options
from selenium import webdriver
url = 'https://www.baidu.com'
options = Options()
options.add_argument('--headless')
browser = webdriver.Firefox(executable_path='/usr/bin/geckodriver',options=options)
Logo

更多推荐