美文网首页selenium知识点整理&汇总我爱编程
Selenium笔记(1)安装和简单使用

Selenium笔记(1)安装和简单使用

作者: 王南北丶 | 来源:发表于2018-05-10 14:52 被阅读471次

    本文集链接:https://www.jianshu.com/nb/25338984


    简介

    Selenium是一个用于Web应用程序测试的工具。

    Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。

    这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

    而用在爬虫上则是模拟正常用户访问网页并获取数据。


    安装

    ChromeDriver(浏览器驱动)安装

    使用selenium驱动chrome浏览器需要下载chromedriver,而且chromedriver版本需要与chrome的版本对应,版本错误的话则会运行报错。

    Chromedriver下载地址:http://npm.taobao.org/mirrors/chromedriver/

    Chromedriver与Chrome版本映射表:

    chromedriver版本 支持的Chrome版本
    v2.39 v66-68
    v2.38 v65-67
    v2.37 v64-66
    v2.36 v63-65
    v2.35 v62-64
    v2.34 v61-63
    v2.33 v60-62
    v2.32 v59-61
    v2.31 v58-60
    v2.30 v58-60
    v2.29 v56-58
    v2.28 v55-57

    Mac/Linux

    下载完成解压后,将文件移动至/usr/local/bin目录中,则可以正常使用。

    Windows

    下载完成解压后,将文件移动到一个配置了环境变量的文件夹中,例如你的Python安装文件夹。

    Selenium安装

    Selenium的安装非常简单,直接pip就可以搞定。

    pip install selenium
    

    简单使用

    Chrome无界面运行

    这是chrome浏览器2017年发布的新特性,需要unix版本的chrome版本高于57,windows版本的chrome版本高于58。

    使用selenium无界面运行chrome的代码如下:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    # 实例化一个启动参数对象
    chrome_options = Options()
    # 设置浏览器以无界面方式运行
    chrome_options.add_argument('--headless')
    # 官方文档表示这一句在之后的版本会消失,但目前版本需要加上此参数
    chrome_options.add_argument('--disable-gpu')
    # 设置浏览器参数时最好固定好窗口大小,窗口大小不同会在解析网页时出现不同的结果
    chrome_options.add_argument('--window-size=1366,768')
    # 启动浏览器
    browser = webdriver.Chrome(chrome_options=chrome_options)
    

    运行上述代码,则会打开一个无界面chrome浏览器的空白页,去掉headless那一句可以看到效果。

    Selenium简单例子

    这是一个打开百度首页,在输入框中输入Python,并点击搜索的例子。

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.support.wait import WebDriverWait
    
    # 打开一个Chrome浏览器
    browser = webdriver.Chrome()
    # 请求百度首页
    browser.get('https://www.baidu.com')
    # 找到输入框位置
    input = WebDriverWait(browser, 10).until(
                    EC.presence_of_element_located((By.XPATH, '//*[@id="kw"]'))
                )
    # 在输入框中输入Python
    input.send_keys('Python')
    # 找到输入按钮
    button = WebDriverWait(browser, 10).until(
                    EC.element_to_be_clickable(
                        (By.XPATH, '//*[@id="su"]'))
                )
    # 点击一次输入按钮
    button.click()
    browser.quti()
    

    相关文章

      网友评论

        本文标题:Selenium笔记(1)安装和简单使用

        本文链接:https://www.haomeiwen.com/subject/ccgzrftx.html