Selenium元素定位

HTML简介

<html>    #<></>标签对,html为标签名
    <body>
    </body>    #层级
</html>
<div id="id1" class="class1">    #标签属性:id,class
    <input name="name1">    
        <a href="http://www.google.com">google</a>    #a为超链接标签,href为超链接,google为超链接文本
    

find_element_by定位 

find_element_by_id("id1")    #id定位
find_element_by_name("name1")    #name定位
find_element_by_class_name("class1")    #class定位
find_element_by_tag_name("tag1")    #tag标签定位
find_element_by_link_text("linktext1")    #link链接文本定位
find_element_by_partial_link_text("partialLinktext1")    #link链接部分文本定位

XPath定位:find_element_by_xpath("")

find_element_by_xpath("/html/div/div[2]/from/span/input")    #/绝对路径
find_element_by_xpath("//input[@id="id1"]")    #//相对路径,标签名[@属性=属性值]
find_element_by_xpath("//*[@class='class1']")    #*通配符
find_element_by_xpath("//span[@type='type1']//input[@name='name1']")    #层级关系
find_element_by_xpath("//input[@id='id1' and @class='class1']/input")    #and逻辑操作

CSS定位:find_element_by_css_selector("")

find_element_by_css_selector("input.class1")    #标签.属性名,标签不需要修饰符
find_element_by_css_selector("#id1")    ##id属性名
find_element_by_css_selector("[name='name1']")    #[属性=属性名]
find_element_by_css_selector("span.class1>input#id1")    #>父子    

XPath&CSS对比

两种方法均可通过火狐浏览器插件FireBug自动获得

定位方式XPathCSS
tag//divdiv
id//div[@id='id1']div#id1
class//div[@class='class1']div.class1
property//div[@title='title1']div[title=title1]
hierarchy//div[@id='id1']/*div#id>*

By定位

实质上与上面的一样,统一了形式。

#from selenium.webdriver.commom.by import By
find_element(By.ID,"id1")    #By.类型,方式(大写),其余5种类似
find_element(By.XPATH,"//*[@class='class1']")
find_element(By.CSS_SELECTOR,"span.class1")

详细

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值