zoukankan      html  css  js  c++  java
  • python3-selenium-UI自动化入门一

    ###

    selenium非常强大,支持多种浏览器,在自动化测试的时候,需要系统的浏览器版本和浏览器驱动版本相对应,

    这里使用的是谷歌浏览器,驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

    下面不多说,直接进入正题。

    ###

    一、安装模块

    pip3 install selenium

    二、使用

    from selenium import webdriver

    #创建浏览器对象,Chrome首字母要大写

    driver = webdriver.Chrome()

    #加载页面,这里使用豆瓣网站来举个栗子吧

    driver.get('https://movie.douban.com/')

    #页面最大化

    driver.maximize_window()

    #全屏

    driver.fullscreen_window()

    设置定位元素的操作超时时间(最多等待)

    driver.implicitly_wait(10)

    #当我们页面操作完后,即测试完成后,关闭浏览器

    #driver.quit()

    三、定位元素

    ###

    这里会要求你要对前端的具有一定的知识了(比如html文件中一般有哪些标签之类的肯定要熟悉的)

    ###

    1、根据元素的id定位(例如首页的查询框)

    driver.find_element_by_id('inp-query')

    2、根据元素的name属性定位(元素还是上面那个元素)

    driver.find_element_by_name('search_text')

    3、根据元素的classname属性来定位

    driver.find_element_by_class_name('nav-login')

    4、根据链接的文本来定位

    driver.find_element_by_link_text('电影')

    5、根据链接的部分文本来定位(参考第3个定位元素)

    driver.find_element_by_partial_link_text('登录')

    6、根据元素的tag标签定位(apple不常用这种方法,不解释太多)

    driver.find_element_by_tag_name('input')

    7、css定位(用的较多,比较重要的一个)

    (1)class属性

    driver.find_element_by_css_selector('标签.class')   #点前面是标签,比如input,‘.’点代表后面要带的是class属性

    也可以(‘.class’)

    (2)id属性

    driver.find_element_by_css_selector('#id')       #井号后面带的是id的属性

    也可以(‘标签#id’)

     (3)其他属性('tag标签[属性=‘属性值’]')

    driver.find_element_by_css_selector(‘input[name=“password”]’)#前面的标签可以不写

    8、xpath定位(这个用的也很多,里面方式有很多种,比如正则,有空大家都可以尝试下)

    driver.find_element_by_xpath('//tag标签/tag/tag[@属性=“属性值 and @属性=“属性值””]/tag')

    这里有时候用的的“*”星号是通配符,指的是任意标签

    四、浏览器操作

    1、基本属性

    driver.name#浏览器名字

    driver.title#标题

    driver.current_url#当前url

    driver.page_resource#html代码

     driver.back()#后退

    driver.refresh()#刷新

    driver.save_screenshot(r'D:XXX.PNG')#截屏

  • 相关阅读:
    怎么防止重复提交
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    GBK和GB2312编码
    2.补充:计算机表示的单位:
    python中字符串的编码和解码
    Spring Boot 有哪些优点?
    Maven的工程类型有哪些?
    Maven仓库是什么
  • 原文地址:https://www.cnblogs.com/Appleli/p/11411231.html
Copyright © 2011-2022 走看看