zoukankan      html  css  js  c++  java
  • linux中配置selenium运行环境及selenium无界面运行

    一、在linux中使用selenium

    1、安装chrome
    用下面的命令安装Google Chrome
    yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    也可以先下载至本地,然后安装
    wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
    yum install ./google-chrome-stable_current_x86_64.rpm
     
    安装必要的库
    yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts
     
    2、安装 chromedriver(末尾附chrome和chromedriver的对应版本)
    chrome官网
    wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
    淘宝源(推荐)
    wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip
     
    将下载的文件解压,放在如下位置
    unzip chromedriver_linux64.zip
    mv chromedriver /usr/bin/
    给予执行权限
    chmod +x /usr/bin/chromedriver
     
    3、运行代码,查看是否成功(python下)
    from selenium import webdriver
    driver = webdriver.Chrome()
     
    ------------2019年兼容版本对照表-----------
    ChromeDriver 78.0.3904.11 (2019-09-12)---------Supports Chrome version 78
    ChromeDriver 77.0.3865.40 (2019-08-20)---------Supports Chrome version 77
    ChromeDriver 76.0.3809.12 (2019-06-07)---------Supports Chrome version 76
    ChromeDriver 75.0.3770.8 (2019-04-29)---------Supports Chrome version 75
    ChromeDriver v74.0.3729.6 (2019-03-14)--------Supports Chrome v74
    ChromeDriver v2.46 (2019-02-01)----------Supports Chrome v71-73
     

    二、chrome无界面模式运行

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错
    chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率
    chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
    chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
    chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
    chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
    
    #创建浏览器对象
    driver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path:浏览器驱动路径
    driver.get(url)
    

     三、无界面模式下下载文件

    以前,以无头模式运行的Chromedriver无法正确下载文件,原因是它稀疏地解析提供给它的首选项文件。无头Chrome团队的工程师建议使用DevTools的“ Page.setDownloadBehavior”来解决此问题。此变更列表实现此修复程序。下载的文件默认为当前目录,可以在实例化chromedriver实例时使用download_dir进行设置。还添加了测试以确保正确的下载功能。

    params = {'behavior': 'allow', 'downloadPath': r'C:UsersDebanjan.BDownloads'}
    driver.execute_cdp_cmd('Page.setDownloadBehavior', params)
    

     

  • 相关阅读:
    export default 和 export 的使用方式(六)
    webpack结合vue使用(五)
    webpack 中导入 vue 和普通网页使用 vue 的区别(四)
    普通组件定义渲染和render渲染组件的区别(三)
    代码规范
    vue切换路由时,取消所有axios请求
    JS设计模式-策略模式
    CSS世界(张鑫旭)系列学习总结 (五)内联元素与流
    Vue中Jsx的使用
    Vue事件总线(EventBus)
  • 原文地址:https://www.cnblogs.com/crystal1126/p/13259204.html
Copyright © 2011-2022 走看看