【Selenium】Raspbian+Selenium+Firefox 忘是亡心i 2021-09-26 10:40 453阅读 0赞 ### 安装Firefox浏览器 ### 在树莓派环境下Firefox浏览器不叫Firefox,而是Iceweasel,首先我们要先安装浏览器: sudo apt-get update sudo apt-get upgrade sudo apt-get install iceweasel 查看Iceweasel的安装路径以及版本: whereis iceweasel iceweasel -version ### 下载驱动geckodriver ### 因为我查询后iceweasel的版本是52.5.2版本,所以geckodriver的版本只能用0.15.0版本的geckodriver:[下载地址][Link 1] ![这里写图片描述][SouthEast] 如图所示,Selenium的版本要3.3以上才可以。我是在本地电脑上下载好后拉到树莓派上的。解压缩后,记得设置geckodriver的权限为可操作,我直接设置了777:(要进到geckodriver所在目录) sudo chmod -R 777 geckodriver 在这之前我使用的geckodriver版本是0.19.1,但是一直报错,后来查阅相关文章后换了0.15.0版本。若在0.15.0版本遇到以下错误,可以这样解决: 错误:Syntax error:"(" unexpected 解决方法:sudo dpkg-reconfigure dash 在弹出的窗口选择no 错误:执行./geckodriver提示Permission denied 或报错:cannot execute binary file 解决方法:设置权限 sudo chmod -R 777 geckodriver ### 安装Xvfb ### 因为Linux是没有图形界面的,而使用selenium+firefox需要依赖于图形界面,所以我们需要安装一个虚拟图形环境:Xvfb。如果没有装的话就会报错: Error: GDK_BACKEND does not match available displays 意思是:GDK函数后台与可获得的显示器不匹配。 安装Xvfb: sudo apt-get install xvfb 安装好后执行: Xvfb -ac :7 -screen 0 1280x1024x8 -extension RANDR -nolisten inet6 & 会显示\[1\] 1245,不用管它,继续执行: export DISPLAY=:7 (和上一步的number号相同) 然后再执行程序就发现成功了。 > 参考资料: > [http://bbs.csdn.net/topics/390902025/][http_bbs.csdn.net_topics_390902025] > [http://blog.csdn.net/DDQ\_DQ/article/details/77367739][http_blog.csdn.net_DDQ_DQ_article_details_77367739] [Link 1]: https://github.com/mozilla/geckodriver/releases [SouthEast]: /images/20210923/02ecb1b6148f4e3fb6b38409a9a035d9.png [http_bbs.csdn.net_topics_390902025]: http://bbs.csdn.net/topics/390902025/ [http_blog.csdn.net_DDQ_DQ_article_details_77367739]: http://blog.csdn.net/DDQ_DQ/article/details/77367739
还没有评论,来说两句吧...