centos 系统中安装使用selenium,firefox

由于爬取的页面需要登录获取信息,所以需要模拟浏览器环境。

安装selenium
命令:pip install selenium

安装firefox
命令:yum install firefox
firefox --version,查看firefox的版本(60.7)

安装驱动
操作firefox浏览器需要用到驱动geckodriver
安装包地址:https://github.com/mozilla/ge...
上面有各种版本的驱动,此处下载的是v19,并解压放置在usr/bin中


错误提示

WebDriverException: Message: invalid argument: can't kill an exited process

出现该错误,可能是因为驱动与浏览器的版本不兼容,降驱动版本比较方便。

https://stackoverflow.com/que...

Webdriver Exception:Process unexpectedly closed with status: 1

出现该错误,可能是因为在无界面的系统中启用浏览器,且没有设置headless选项。

解决方法:

from selenium import webdriver
from selenium.webdriver 
import FirefoxOptions
opts = FirefoxOptions()
opts.add_argument("--headless")
browser = webdriver.Firefox(firefox_options=opts)
browser.get('http://example.com')

https://stackoverflow.com/que...

WebDriverException: Message: 'geckodriver' executable needs to be in PATH

解决方法:设置executable_path为驱动放置位置

webdriver.Firefox(executable_path='/usr/bin/geckodriver')

OSError: [Errno 20] Not a directory

webdriver.Firefox('/usr/bin/geckodriver')此处的错误为没有设置参数名

解决方法:webdriver.Firefox(executable_path='/usr/bin/geckodriver')

相关推荐