2022.5.20 selenium

selenium中定位元素的方式

1.通过name定位。

2.通过id定位。

3.通过class定位。

4.通过标签名(tag_name)定位。

5.通过css定位。

  1)简单定位:copy selector

  2)根据id属性 选择元素的语法是在id号前面加上一个井号: #id值

    eg:element = wd.find_element(By.CSS_SELECTOR, '#searchtext')     

  3)根据class属性 选择元素的语法是在 class 值 前面加上一个点: .class值

    eg:element = wd.find_element(By.CSS_SELECTOR, '.animal')     animal是一个class值

  4)如果元素2 是元素1 的 直接子元素, CSS Selector 选择子元素的语法是这样的 元素1 > 元素2

    中间用一个大于号 (我们可以理解为箭头号)注意,最终选择的元素是 元素2,并且要求这个 元素2 是 元素1 的直接子元素

     如果>换成“ ”,那么要求元素2为元素1的后代元素   (元素1   元素2)

     eg:element = wd.find_element(By.CSS_SELECTOR, '.animal > .div')   

  5)css 选择器支持通过任何属性来选择元素,语法是用一个方括号 [ ]。

     eg:element = wd.find_element(By.CSS_SELECTOR, '[href="http://www.miitbeian.gov.cn"]')

           属性前面可以加上标签名的限制,比如div[class='SKnet'] 表示 选择所有 标签名为div,且class属性值为SKnet的元素。

 

     CSS 还可以选择 属性值包含某个字符串的元素比如, 要选择a节点,里面的href属性包含了 miitbeian 字符串,就可以这样写 

      a[href*="miitbeian"]

   

    还可以 选择 属性值 以某个字符串 开头 的元素比如, 要选择a节点,里面的href属性以 http 开头 ,就可以这样写

      a[href^="http"]

    还可以 选择 属性值 以某个字符串结尾的元素比如, 要选择a节点,里面的href属性以 gov.cn 结尾 ,就可以这样写

        a[href$="gov.cn"]

    如果一个元素具有多个属性<div class="misc" ctype="gun">沙漠之鹰</div>

    CSS 选择器 可以指定 选择的元素要 同时具有多个属性的限制,像这样 div[class=misc][ctype=gun]

 

6.通过xpath定位

7.使用超链接全文本定位。

8.使用超链接部分文本定位部分元素。

  eg:print(driver.find_element_by_link_text('唐•李白').get_attribute('value'))

三种简单的验证方法

1.is_displayed():验证控件是否在节目显示出来,如果该控件在界面是显示则该方法的返回值是True,否则是False

2.is_enabled():验证控件是否可以编辑,如果可以编辑则该方法返回True,否则False

3.is_selected():验证某个控件是否被选中,如果选中则返回True,否则返回False

posted on 2022-05-20 23:21  我一点都不卷  阅读(22)  评论(0)    收藏  举报