【Selenium】Debian+Selenium+ChromeDriver 清疚 2021-09-26 10:50 452阅读 0赞 ### 测试版本说明 ### Debian 9.0 64位 Selenium 3.4.0 chrome 63 ChromeDriver 2.34 Java 1.8.0 ### 安装chrome ### 需要在服务器上装chrome浏览器: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt-get -f install dpkg -i google-chrome-stable_current_amd64.deb 如果提示错误: dpkg: error processing package google-chrome-stable (--install): 请执行: sudo apt-get upgrade sudo apt-get update sudo apt-get -f install dpkg -i google-chrome-stable_current_amd64.deb 之后就不会报错了,安装成功的话可以查看到安装路径以及安装的版本: ![这里写图片描述][SouthEast] ### 下载chromedriver ### 要根据chrome浏览器的版本对应下载driver驱动的版本: 下载地址:[http://chromedriver.storage.googleapis.com/index.html][http_chromedriver.storage.googleapis.com_index.html] <table> <thead> <tr> <th>chromedriver版本</th> <th>支持的Chrome版本</th> </tr> </thead> <tbody> <tr> <td>v2.34</td> <td>v61-63</td> </tr> <tr> <td>v2.33</td> <td>v60-62</td> </tr> <tr> <td>v2.32</td> <td>v59-61</td> </tr> <tr> <td>v2.31</td> <td>v58-60</td> </tr> <tr> <td>v2.30</td> <td>v58-60</td> </tr> <tr> <td>v2.29</td> <td>v56-58</td> </tr> <tr> <td>v2.28</td> <td>v55-57</td> </tr> <tr> <td>v2.27</td> <td>v54-56</td> </tr> <tr> <td>v2.26</td> <td>v53-55</td> </tr> <tr> <td>v2.25</td> <td>v53-55</td> </tr> <tr> <td>v2.24</td> <td>v52-54</td> </tr> <tr> <td>v2.23</td> <td>v51-53</td> </tr> <tr> <td>v2.22</td> <td>v49-52</td> </tr> <tr> <td>v2.21</td> <td>v46-50</td> </tr> <tr> <td>v2.20</td> <td>v43-48</td> </tr> <tr> <td>v2.19</td> <td>v43-47</td> </tr> </tbody> </table> ### 安装Xvfb ### sudo apt-get install xvfb 安装好后执行: `Xvfb -ac :7 -screen 0 1280x1024x8 -extension RANDR -nolisten inet6 &` `export DISPLAY=:7 (和上一步的number号相同)` 由于每次需要运行程序前都需要启动一次xvfb太麻烦,所以直接写一个开机自启动脚本,这样下次就直接执行程序就可以了。我们需要将脚本写在/etc/rc.local路径下,开机之后会执行/etc/rc.local文件中的脚本,在exit 0前面添加以下内容: #! /bin/bash case "$1" in start) /usr/bin/Xvfb :7 -ac -screen 0 1280x1024x8 -extension RANDR -nolisten inet6 & export DISPLAY=:7 ;; stop) killall Xvfb ;; esac ### 关于错误:Chrome failed to start: exited abnormally ### 这个错误我遇到了两次,第一次的时候只需要安装Xvfb就成功解决了,可第二次我已经安装了Xvfb且正常打开了仍然提示了这样的错误,原因是因为需要在代码里加上一下内容(很关键!): // 禁用扩展 chromeOptions.addArguments("--disable-extensions"); // 使用无头模式运行 chromeOptions.addArguments("--headless"); // 禁用GPU chromeOptions.addArguments("--display-gpu"); // 启动无沙盒模式运行 chromeOptions.addArguments("--no-sandbox"); 可能是因为chrome占内存过大而卡屏,使得chrome无法正常打开 并且记得chromedriver的权限要设置为可执行: chmod -R 777 chromedriver > 参考资料: > [unkown error:Chrome failed to start: exited abnormally][unkown error_Chrome failed to start_ exited abnormally] > [chrome安装错误解决][chrome] > [chromedriver与chrome版本映射表][chromedriver_chrome] > [chrome in linux][] > [chrome命令行大全][chrome 1] > [添加开机启动项的2种方法][2] [SouthEast]: /images/20210923/408465584fa84171881a71ce9a6c413c.png [http_chromedriver.storage.googleapis.com_index.html]: http://chromedriver.storage.googleapis.com/index.html [unkown error_Chrome failed to start_ exited abnormally]: https://stackoverflow.com/questions/47596402/selenium-chrome-failed-to-start-exited-abnormally-error [chrome]: http://tieba.baidu.com/p/3218887872 [chromedriver_chrome]: http://www.cnblogs.com/longronglang/p/8078759.html [chrome in linux]: http://blog.csdn.net/codebattle/article/details/73650023 [chrome 1]: http://blog.csdn.net/u012593626/article/details/44540485 [2]: http://www.jb51.net/os/Ubuntu/181138.html
还没有评论,来说两句吧...