51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1550|回复: 0
打印 上一主题 下一主题

Selenium webdriver 元素定位方法总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-10 14:13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>

<a class="mnav" name="test" href="http://news.baidu.com">新闻板块</a>

上面是百度输入框的代码



from selenium import webdriver



1. find_element_by_id("kw")

2. find_element_by_name("wd")

3. find_element_by_class_name("s_ipt")

4. find_element_by_tag_name("input")

5. find_element_by_link_text("新闻板块")

6. find_element_by_partial_link_text("新")



7.1 XPath-绝对路径定位:

绝对路径类似于你家的地址:XX市XX区XX路XX号;也就是说从最外层的标签开始往里数就可以了

例如百度输入框的绝对路径:

find_element_by_xpath("html/body/div[3]/div/div/div/div/form/span/input")

div[3] 代表当前层级第3个div



7.2 XPath-利用元素属性定位

find_element_by_xpath("//input[@id='kw']")

find_element_by_xpath("//input[@name='wd']")

find_element_by_xpath("//*[@id='kw']")

//input表示查找页面上所有的input元素

//*表示查找页面上所有元素

//input[1]表示查找页面上第一个input元素

//form[1]/input 表示查找第一个form元素下一级的input元素

//form[1]//input 表示查找页面上第一个form元素下的所有input元素,不管嵌套了多少层

//input[@id='kw' and @class='su'] 可以用 and 连接多个属性来唯一标识一个元素



Firepath可以生成XPath



8.css定位

find_element_by_css_selector("#kw")  #符号表示通过ID属性来定位元素

find_element_by_css_selector(".s_ipt")   点符号(.)表示通过class属性来定位元素

find_element_by_css_selector("input")    通过Tag标签来定位元素时不需要任何符号

find_element_by_css_selector("[id=kw]")  通过属性和属性值来定位元素,可以使用任意属性,例如 [type=submit]

find_element_by_css_selector(“span>input”)  通过父子关系定位元素

find_element_by_css_selector(“span+input”) 表示查找同一级紧挨着span的input元素

以上几种方式还可以综合使用











我个人喜欢用By定位元素

要使用By需要先import



from selenium.webdriver.common.by import By

1. find_element(By.ID,"kw")

2. find_element(By.NAME,"wd")

3. find_element(By.CLASS_NAME,"s_ipt")

4. find_element(By.TAG_NAME,"input")

5. find_element(By.LINK_TEXT,"新闻板块“)

6. find_element(By.PARTIAL_LINK_TEXT,"新”)

7. find_element(By.XPATH,"//*[@class='s_ipt']")

8. find_element(By.CSS_SELECTOR,“#kw”)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 12:31 , Processed in 0.066743 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表