博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(二)selenium元素定位
阅读量:6691 次
发布时间:2019-06-25

本文共 1748 字,大约阅读时间需要 5 分钟。

selenium定位方法

Selenium提供了8种定位方式。

  • id
  • name
  • class name
  • tag name
  • link text
  • partial link text
  • xpath
  • css selector

这8种定位方式在Python selenium中所对应的方法为:

  • 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()

 

定位方法的用法

假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的。

        

我们的目的是要定位input标签的输入框。

  • 通过id定位:

    dr.find_element_by_id("kw")
  • 通过name定位:

    dr.find_element_by_name("wd")
  • 通过class name定位:

    dr.find_element_by_class_name("s_ipt")
  • 通过tag name定位:

    dr.find_element_by_tag_name("input")
  • 通过xpath定位,xpath定位有N种写法,这里列几个常用写法:

    dr.find_element_by_xpath("//*[@id='kw']")dr.find_element_by_xpath("//*[@name='wd']")dr.find_element_by_xpath("//input[@class='s_ipt']")dr.find_element_by_xpath("/html/body/form/span/input")dr.find_element_by_xpath("//span[@class='soutu-btn']/input")dr.find_element_by_xpath("//form[@id='form']/span/input")dr.find_element_by_xpath("//input[@id='kw' and @name='wd']")
  • 通过css定位,css定位有N种写法,这里列几个常用写法:

    dr.find_element_by_css_selector("#kw")dr.find_element_by_css_selector("[name=wd]")dr.find_element_by_css_selector(".s_ipt")dr.find_element_by_css_selector("html > body > form > span > input")dr.find_element_by_css_selector("span.soutu-btn> input#kw")dr.find_element_by_css_selector("form#form > span > input")

接下来,我们的页面上有一组文本链接。

新闻hao123
  • 通过link text定位:

    dr.find_element_by_link_text("新闻")dr.find_element_by_link_text("hao123")
  • 通过link text定位:

    dr.find_element_by_partial_link_text("新")dr.find_element_by_partial_link_text("hao")dr.find_element_by_partial_link_text("123")

关于xpaht和css的定位比较复杂,请参考: 、 

转载于:https://www.cnblogs.com/wanghaihong200/p/7605428.html

你可能感兴趣的文章
Hadoop MapReduce编程 API入门系列之Crime数据分析(二十五)(未完)
查看>>
大漠插件使用
查看>>
百度echarts
查看>>
5 HTML&JS等前端知识系列之jquery基础
查看>>
jsp里的逻辑语句c:if和c:choose
查看>>
Spectral Graph Theory的一些定理
查看>>
css !import
查看>>
Unity3D 4.x编辑器操作技巧
查看>>
人机对战初体验—四子棋游戏
查看>>
Understanding the difficulty of training deep feedforward neural networks
查看>>
流媒体传输协议详解之---RTSP认证
查看>>
19:肿瘤检测
查看>>
iptables进行DNAT(目标地址转换)
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->用户管理模块新增“重置用户密码”功能...
查看>>
域名介绍
查看>>
系统封装 ES3使用方法
查看>>
SVG.js 文本绘制整理
查看>>
哈佛结构 VS 冯*诺依曼结构
查看>>
java日志体系的思考(转)
查看>>
jQuery插件之validation插件
查看>>