第四章 WebDriver定位

8种元素定位的方法

  • ID是在页面上定位元素的首选方法,工作速度非常快,避免复杂的DOM遍历
  • XPath语法很复杂,并且经常很难调试,未经过浏览器厂商的性能测试,并且运行速度很慢
  • 基于链接文本和部分链接文本的选择策略有其缺点,即只能对链接元素起作用
  • 标签名定位元素的方法,在调用findElements(By)方法返回元素集合时非常有用
方法名称 Python代码 描述
id find_element_by_id() 定位id属性与搜索值匹配的元素
name find_element_by_name() 定位name属性与搜索值匹配的元素
tag find_element_by_tag_name() 定位标签名称与搜索值匹配的元素
class find_element_by_class_name() 定位类名称中包含搜索值的元素(不能使用复合类名)
link text find_element_by_link_text() 定位其可视文本与搜索值匹配的锚元素
xpath find_element_by_xpath() 定位与XPath表达式匹配的元素
css selector find_element_by_css_selector() 定位与CSS选择器匹配的元素

定位元素

  • WebDriver中定位元素是在WebDriver实例对象(driver)上完成的

  • find_element_by方法返回另一个基本对象类型WebElement

    • WebDriver代表浏览器
    • WebElement表示特点的DOM节点(控件,例如链接或输入栏等)
  • 代码

    • WebDriver实例

      driver = webdriver.Chrome()
      
    • 跳转链接

      driver.get("http://cn.bing.com")
      
    • 定位方法(单元素)

      driver.find_element_by_id("sb_form_q")
      
    • 定位方法(多元素)

      dirver.find_element_by_css_selector("#cheese li")
      

设置元素文本

  • 使用sendKeys方法设置元素的文本

        driver.find_element_by_id("sb_form_q").send_keys("Selenium")
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。