zoukankan      html  css  js  c++  java
  • selenium自动化(二).........................................Demo篇

    二 编写简单代码

    1. 简单代码一:   demo1.py

    1.from selenium import webdriver

    1. driver = webdriver.Chrome()
    2. driver.get("http://baidu.com")
    3. driver.find_element_by_id("kw").send_keys("hello world")
    4. driver.find_element_by_id("su").click()
    5. driver.quit()

     

    以上代码中包含了打开浏览器,打开指定网页.输入内容,点击,和关闭浏览器等操作

    此代码存在的问题:

    1. 浏览器没有实现最大化
    2. 如果元素没有出来,则会导致报错(找不到元素)

    2.  简单代码二: demo2.py

    from selenium import webdriver

    driver = webdriver.Chrome()

    driver.implicitly_wait(20) #隐式等待20s

    driver.maximize_window()  #最大化浏览器

    driver.delete_all_cookies() #删除现有的cookie

    driver.get("http://baidu.com")

    driver.find_element_by_id("kw").send_keys("hello world")

    driver.find_element_by_id("su").click()

    driver.quit()

    以上的代码实现了隐式等待20s(即发现元素则进行,超过20s未发现元素则报错)

    3. 登录实现

    实现登录的方式有三种:

    1. 使用send_keys的方式,输入用户名和密码
    2. 包含验证码的.可以使用send_keys和PIL(在py2中叫pillow,已经停止更新)的方法
    3. 使用cookie的方式登录(包含验证码的话,建议使用这种方式)
    4. 简单代码Demo4.py(出于隐私内容,cookie部分已经替换),注意:需要服务器端支持使用cookie

    import time

    from selenium import webdriver

    driver = webdriver.Chrome()

    driver.maximize_window()  #最大化浏览器

    driver.delete_all_cookies() #删除现有的cookie

    driver.implicitly_wait(20) #隐式等待20s

    driver.delete_all_cookies() #删除现有的cookie

    driver.get("http://baidu.com")

    driver.add_cookie({'name' : 'BDUSS', 'value' : 'gzn'})

    driver.add_cookie({'name' : 'BDORZ', 'value' : 'B49098'})

    driver.find_element_by_id("kw").send_keys("hello world")

    driver.find_element_by_id("su").click()

    driver.quit()

    1. 编写用例函数:

    from selenium import webdriver

     

    driver=""

    def br():

        global driver

        driver = webdriver.Chrome()

    def test_one():

        driver.get("http://baidu.com")

    def tear_down():

        driver.quit()

     

    if __name__ == '__main__':

        br()

        test_one()

        tear_down()

  • 相关阅读:
    java中date日期格式的各种转换
    idea配置网络代理
    idea连接操作数据库
    数据库mysql之慢查询优化
    【统一异常处理】@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
    freemarker【FTL】常见语法大全
    MySQL高级知识(七)——索引面试题分析
    MySQL高级知识(八)——ORDER BY优化
    MySQL高级知识(六)——索引优化
    MySQL高级知识(四)——Explain
  • 原文地址:https://www.cnblogs.com/twotigers/p/6860465.html
Copyright © 2011-2022 走看看