• Selenium入门系列3 单个元素的定位方法


    UI自动化首先要识别对象,再操作对象,最后判定实际结果与预期结果是否一致。

    这一节学习的是识别单个对象,webdriver提供了8种方式。

    <a id="idofa" class="classofa" name="nameofa" href="">linktextofa</a>

    find_element_by_class_name( 'classofa')  根据class定位

    find_element_by_id("idofa")   根据id定位(代码规范的话,id是唯一的。注意的点在于有时候开发会动态改变id

    find_element_by_name("nameofa")  根据name定位

    find_element_by_tag_name("a") 根据tag定位

    find_element_by_link_text('linktextofa')  链接文本

    find_element_by_partial_link_text("link")  链接部分文本

     

    find_element_by_css_selector  最好用的,需熟悉css选择器。css改变元素样式首先就得选择元素,选择器有标签、id、class、属性、组合、父子、后代、兄弟等等,超级强大。

    css 选择器 http://www.w3school.com.cn/cssref/css_selectors.asp

    find_element_by_css_selector("a")  标签

    find_element_by_css_selector("#idofa")  #id

     find_element_by_css_selector(".classofa")    .class

    find_element_by_css_selector("a#idofa")  标签#id

     find_element_by_css_selector("a.classofa")   标签.class

     find_element_by_css_selector('a[name=''nameofa"')    标签[属性]

    ......

     

    find_element_by_xpath('//a[@id="idofa"]')   也很强大。css_selector不好使的时候用,据说比css_selector慢

     xpath  http://www.w3school.com.cn/xpath/xpath_nodes.asp

    #coding=utf-8
    
    #单个对象的识别webdriver提供了8种方式 
    #find_element_by_id,name,class_name,tag_name,css_selector,link_text,partial_link_text,xpath
    from selenium import webdriver import time driver = webdriver.Firefox() driver.get("http://www.bing.com") driver.find_element_by_id("sb_form_q").send_keys("byid ") time.sleep(1) driver.find_element_by_name("q").send_keys("byname ") time.sleep(1) driver.find_element_by_class_name("b_searchbox").send_keys("byclassname ") time.sleep(1) driver.find_element_by_tag_name("input").send_keys("bytagname ") time.sleep(1) driver.find_element_by_css_selector("input#sb_form_q").send_keys("bycssselector ") time.sleep(1) driver.find_element_by_xpath("//input[@class='b_searchbox']").send_keys(" byxpath") time.sleep(1) driver.get("http://www.bing.com") driver.find_element_by_link_text("Academic").click() time.sleep(2) driver.get("http://www.bing.com") driver.find_element_by_partial_link_text("Office").click() time.sleep(2) driver.quit()
  • 相关阅读:
    redis在Linux的下载和安装
    redis 安装启动及设置密码windows
    Lambda学习---方法引用和其他基本应用
    Lambda学习---StreamApi使用
    java对象的访问定位
    java对象是如何创建的
    通过“减少内存”的方式解决内存溢出的问题
    springmvc配置中,mapper一直依赖注入不进去的问题记录
    为什么要简化代码书写
    压力测试工具
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/9735447.html
Copyright © 2020-2023  润新知