• 自动化测试selenium之不同浏览器驱动安装


    这两天研究了一下自动化测试框架selenium,然后在创建浏览器对象启动无头浏览器时,程序运行失败

    下面总结一下正确的安装流程

    我的操作系统windows

    第一步:安装selenium(我的版本是selenium 3.141.0)
    pip install selenium

    第二步:下载浏览器驱动
    各个浏览器下载地址如下:

    第三步:把下载好的XXX.exe浏览器驱动放到python解释器同一目录下
    如图:

    最后直接运行就可以了,避免环境变量等麻烦问题

    Demo:

    # 导入 webdriver
    from selenium import webdriver
    
    # 调用环境变量指定的PhantomJS浏览器创建浏览器对象
    driver = webdriver.Chrome()
    # driver = webdriver.Firefox()
    # driver = webdriver.PhantomJS()
    
    # 如果没有在环境变量指定PhantomJS位置
    # driver = webdriver.PhantomJS(executable_path="/usr/local/bin/phantomjs"))
    
    # get方法会一直等到页面被完全加载,然后才会继续程序,通常测试会在这里选择 time.sleep(2)
    driver.get("http://www.baidu.com/")
    
    # 获取页面名为 wrapper的id标签的文本内容
    data = driver.find_element_by_id("wrapper").text
    
    # 打印数据内容
    print(data)
    
    # 打印页面标题 "百度一下,你就知道"
    print(driver.title)
    
    # 生成当前页面快照并保存
    driver.save_screenshot("baidu.png")
    
    # id="kw"是百度搜索输入框,输入字符串"长城"
    driver.find_element_by_id("kw").send_keys(u"长城")
    
    # id="su"是百度搜索按钮,click() 是模拟点击
    driver.find_element_by_id("su").click()
    
    # 获取新的页面快照
    driver.save_screenshot("长城.png")
    
    # 打印网页渲染后的源代码
    print(driver.page_source)
    
    # 获取当前页面Cookie
    print(driver.get_cookies())
    
    # 调用键盘按键操作时需要引入的Keys包
    from selenium.webdriver.common.keys import Keys
    
    # ctrl+a 全选输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
    
    # ctrl+x 剪切输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
    
    # 输入框重新输入内容
    driver.find_element_by_id("kw").send_keys("itcast")
    
    # 模拟Enter回车键
    driver.find_element_by_id("su").send_keys(Keys.RETURN)
    
    # 清除输入框内容
    driver.find_element_by_id("kw").clear()
    
    # 生成新的页面快照
    driver.save_screenshot("itcast.png")
    
    # 获取当前url
    print(driver.current_url)
    
    # 关闭当前页面,如果只有一个页面,会关闭浏览器
    # driver.close()
    
    # 关闭浏览器
    driver.quit()
    
  • 相关阅读:
    P4146 序列终结者(Splay树)
    P2617 Dynamic Rankings(树套树)
    P4168 [Violet]蒲公英(分块魔术)
    P3649[APIO2014]回文串(回文自动机)
    [IOI2011]Race(树上启发式合并)
    CentOS 7安装 .net core 环境 官网说明地址
    宝塔 Linux 面板php.ini文件在哪个目录
    KPPW部署一直提示No input file specified的Apache伪静态设置
    【分享】 MPSoC的VCU超频
    Versal AIE 上手尝鲜 2 -- Linux例程
  • 原文地址:https://www.cnblogs.com/We612/p/11072535.html
Copyright © 2020-2023  润新知