分享

linux下Selenium+Chrome+Chromedriver+java环境搭建+java代码示例

 huowufenghuang 2019-02-15

1、linux下chrome安装

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

默认安装后执行文件路径是:

  1. path.chrome: /usr/bin/google-chrome

2、linux下Chromedriver安装

这个只需要下载对应系统版本就可以了,注意:chrome版本和chromedriver版本对应关系(参考:下载地址中有notes.txt做介绍)

notes.txt 
Chromedriver下载地址:http://npm./mirrors/chromedriver/

下载后复制到需要需要的目录就可以了,例如:

  1. #chromedriver路径
  2. chrome-driver: /usr/bin/chromedriver

注意要给chromedriver可执行权限:chmod 777 chromedriver

3、java工程中使用创建Webdriver示例

  1. /**
  2. * 取得一个空闲的WebDriver.
  3. *
  4. * @param queueName 队列名称
  5. * @return org.openqa.selenium.WebDriver
  6. */
  7. public static WebDriver getOneFreeDriver(String queueName, boolean useProxy) throws IOException {
  8. // 从队列里取
  9. WebDriver driver = driverQueue.poll(queueName);
  10. // 一、取到,直接返回
  11. if (null != driver) {
  12. return driver;
  13. }
  14. //二、未取到,创建
  15. ChromeOptions chromeOptions = new ChromeOptions();
  16. //针对linux环境设置
  17. if (OSinfo.isLinux()) {
  18. chromeOptions.addArguments("headless");//无界面参数
  19. chromeOptions.addArguments("no-sandbox");//禁用沙盒 就是被这个参数搞了一天
  20. }
  21. //使用代理
  22. if (useProxy) {
  23. //使用代理插件动态切换代理
  24. chromeOptions.addExtensions(new File(Const.PROXY_EXTENSION_PATH));
  25. }
  26. DesiredCapabilities chromeCap = DesiredCapabilities.chrome().merge(chromeOptions);
  27. //创建ChromeDriverService
  28. ChromeDriverService service = createChromeDriverService();
  29. driver = new RemoteWebDriver(service.getUrl(), chromeCap);
  30. //最大化窗口
  31. driver.manage().window().maximize();
  32. return driver;
  33. }

 

linux下注意这几行:

  1.     //针对linux环境设置
  2. if (OSinfo.isLinux()) {
  3. chromeOptions.addArguments("headless");//无界面参数
  4. chromeOptions.addArguments("no-sandbox");//禁用沙盒 就是被这个参数搞了一天
  5. }

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多