国产99视频精品免视看6

    1. <em id="yud1w"><acronym id="yud1w"><u id="yud1w"></u></acronym></em>
      
      
      <button id="yud1w"></button>

      python

      当前位置:首页?>?selenium教程?>?当前文章

      selenium教程

      selenium元素定位的8种方式及其变形写法

      2020-09-14 160赞 python中国网
      每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

        所谓元素定位就是在html源码中去找目标元素,html源码有很多特征根据这些特征,Selenium提供了8种定位方式。(如果不知道id 、class name这些是啥,请补充基本的html css知识)

        id(id属性)

        name (name属性)

        class name (class属性)

        tag name (元素名)

        link text (链接文本)

        partial link text (链接文本模糊匹配,不用把文本写全)

        xpath(如果你不懂请看下xpath教程

        css selector(如果你不懂请看下css选择器

        1、如果是查找单个元素,这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()

        2、如果查找是多个元素,find_elements_by_xxx找的是所有符合条件的标签,这8种定位方式在Python selenium中所对应的方法为(id选择器的值理论上是唯一的,所以忽略):

        find_elements_by_name()

        find_elements_by_class_name()

        find_elements_by_tag_name()

        find_elements_by_link_text()

        find_elements_by_partial_link_text() # 模糊匹配文本

        find_elements_by_xpath()

        find_elements_by_css_selector()

        3、此外,Selenium还提供了通用方法find_element(),它需要传入两个参数:查找方式By和值。

        比如find_element_by_id(id)等价于find_element(By.ID, id)

        官方文档案例如下

      from selenium.webdriver.common.by import By
      
      driver.find_element(By.XPATH, '//button[text()="Some text"]')
      driver.find_elements(By.XPATH, '//button')
      

        假设得到一段html源码如下:

        那么查找对应元素方法如下:

      driver.find_element_by_id('p1')
      driver.find_element_by_name('index')
      driver.find_element_by_class_name('my_li')
      driver.find_element_by_tag_name('h3')
      driver.find_element_by_link_text('python教程')
      driver.find_element_by_partial_link_text('python培')  # 模糊匹配文本
      driver.find_element_by_xpath("//*[@id='p2']")
      driver.find_element_by_css_selector('span.soutu-btn> input#kw')
      
      	

        我们用天眼查这个垃圾网站来实际练习下元素查找。

      文章评论

      selenium元素定位的8种方式及其变形写法文章写得不错,值得赞赏
      国产99视频精品免视看6