zoukankan      html  css  js  c++  java
  • 船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作

    浏览器操作

    # coding: utf-8
    
    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.get("https://www.baidu.com")
    
    # 设置浏览器宽800,高400
    driver.set_window_size(800, 400)
    
    sleep(3)
    
    # 最大化窗口
    driver.maximize_window()
    
    driver.get("https://www.cnblogs.com/")
    sleep(3)
    
    # 后退到上一个页面
    driver.back()
    
    sleep(3)
    
    # 前进到下一个页面
    driver.forward()
    
    sleep(3)
    
    # 退出浏览器
    driver.quit()

    对象定位

    webdriver 提供了一系列的元素定位方法,常用的有以下几种:

    • id

    • name

    • class name

    • tag name

    • link text

    • partial link text

    • xpath

    • css selector

    分别对应 python webdriver 中的方法为:

      • find_element_by_id()

      • find_element_by_name()

      • find_element_by_class_name()

      • find_element_by_tag_name()

      • find_element_by_link_text()

      • find_element_by_partial_link_text()

      • find_element_by_xpath()

      • find_element_by_css_selector()

        我们还是以blog.hexun.com为例:

        这是他的登录框。摁F12或者鼠标右键选择Inspect in FirePath火狐浏览器会弹出查看元素界面:

        点一下上图箭头所示那里,然后去页面上点击你想定位的元素,比如我们现在要定位输入账号框,我们就点一下那个查看元素的图标,然后点一下输入账号的框,就可以看到查看元素的页面定位到了这里:

             在这里,页面元素属性有id、name等,这是我们定位这个框就可以通过id(find_element_by_id)或者name(find_element_by_name),一般来说name或者class_name,tag_name这些元素名称都不是唯一的,可能这里叫div(tag_name)另一个地方也叫div,这里叫name=”username”,另一个地方name也是username,这时候用name,class_name,tag_name就很难定位到你想要的元素,所以,不用犹豫了,不嫌长的话就用xPath或者css_selector吧,如果有id用id也可以,因为一般来说id肯定是唯一的。
             name如何定位xPath或者css_selector呢?那就是查看页面元素那里选择

        FirePath那个标签,上图已经看到账号栏的xPath了,只需要点击XPath后面那个小三角,就可以切换成css(就是css_selector)的定位方式了:

        所以呢,以后再定位的时候基本上不用思考,直接用FirePath这个工具就可以了。

      • 微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  • 相关阅读:
    让你彻底明白什么叫游戏引擎(1)
    今后几年将有多于28部游戏电影面世
    Symbian系统体系结构
    让你彻底明白什么叫游戏引擎(2)
    网易程序笔试题
    [转贴]暴雪的霸王条款是否合理?
    CPU GPU设计工作原理《转》
    求伯君:向暴雪学习 金山不求一夜暴富
    我的职业规划
    网络游戏程序员新手入门 [转]
  • 原文地址:https://www.cnblogs.com/captainmeng/p/7845695.html
Copyright © 2011-2022 走看看