Selenium查找元素的几种方式

一、通过id查找

例:<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">

element = driver.find_element_by_id("kw") 

 

二、通过name查找

例:<input name="cheese" type="text"/>

cheese = driver.find_element_by_name("cheese")

 

三、通过classname查找

例:<div class="cheese"><span>Cheddar</span></div>

cheeses = driver.find_elements_by_class_name("cheese")

 

四、通过标签名查找

例:<iframe src="..."></iframe>

frame = driver.find_element_by_tag_name("iframe")

 

五、通过链接文本查找

例:<a href="http://www.baidu.com">转到百度</a>

ele = driver.find_element_by_link_text("转到百度")

 注:有的时候,链接的文本很长,我们甚至只需要通过部分文本去找到该链接元素

只要这个链接文本是唯一的就行

 

六、通过CSS选择器查找

 

eles = driver.find_element_by_css_selector('#choose_car option')

 

 基本用法:

方式

用法

举例

描述

根据class查找

.class

.intro

查找class=intro元素

根据id查找

#id      

#firstname

查找id=firstname的元素

根据标签名查找

tagname

div

查找<div>元素

根据属性查找

[attribute]

[target]

查找具有target属性的元素

[attribute=value]

[target=_blank]

查找包含target=_blank的元素

[attribute^=value]

[href^=https]

查找包含href属性,且该属性的值以https开头的元素

[attribute$=value]

[href$=.pdf]

查找包含href属性,且该属性的值以.pdf结尾的元素

[attribute*=value]

[href*=abc]

查找包含href属性,且该属性的值包含“abc的元素

高级用法:

用法

举例

描述

后代元素选择器

div p

选择所有在<div>里面的<p>

子元素选择器

div>p

选择所有<div><p>子元素

组选择器,同时选择多个元素

<div>,<p>

同时选择所有的<div>元素和<p>元素

相邻兄弟元素

<div>+<p>

选择所有<div>后面紧跟的<p>元素

兄弟元素

<div>~<p>

选择所有<div>元素后面的<P>元素(不一定要紧跟)

:empty

p:empty

选择没有子节点(包括文本)的<p>元素

:first-child

p:first-child

选择所有是 父元素第一个元素<p>元素

:first-of-type

p:first-of-type

选择所有是 父元素第一个<p>元素<p>元素

:last-child

p:last-child

选择所有是其父元素最后一个元素<p>元素

:last-of-type

p:last-of-type

选择所有是其父元素最后一个<p>元素<p>元素

:nth-child(n)

p:nth-child(2)

选择所有是其父元素第二个元素<p>元素

:nth-of-type(n)

p:nth-of-type(2)

选择所有是其父元素的第二个<p>元素<p>元素

:nth-last-child(n)

p:nth-last-child(2)

选择所有是其父元素倒数第二个元素的<p>元素

:nth-last-of-type(n)

p:nth-last-of-type

选择所有是其父元素倒数第二个<p>元素<p>元素

:only-child

p:only-child

选择所有是其父元素唯一一个子元素<p>元素

:only-of-type

p:only-of-type

选择所有是其父元素唯一一个<P>子元素的<p>元素

:not(selector)

:not(p)

选择所有不是<p>元素的元素

 

七、通过Xpath查找

 

eles = food.find_elements_by_xpath('./p')

 

 

 

转载于:https://www.cnblogs.com/crystal1126/p/11569362.html

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值