从0开始python学习-20.selenium元素定位8大方法

目录

1. 元素定位方法

2. 使用id定位:通过元素的id属性来进行元素的获取,一般id是不会重复的

3. 使用name定位:通过元素的name属性来进行元素的获取,有可能会重名

4. 使用tag_name定位:通过元素的标签名称来进行元素的获取,一定会重名,一般在自动化中几乎不用

5. 使用lass_name定位:通过元素的class属性来进行元素的获取

6. 使用xpath定位:通过xpath表达式进行定位

9. 使用css_selector定位:基于class属性来进行定位的


1. 元素定位方法

1. 单个元素定位find_element:会返回被定位元素的值,如果没有定位到程序会报错

2. 多个元素定位find_elements:会返回被定位元素的多个值(以列表的方式存储),如果没有定位,返回一个空列表

3. selenium中定位元素的8大方法:id、name、class_name、tagname、xpath、link_text、partial_link_text、css_selector

【百度输入框】

2. 使用id定位:通过元素的id属性来进行元素的获取,一般id是不会重复的

driver.find_element(By.ID, 'kw').send_keys('1111')

3. 使用name定位:通过元素的name属性来进行元素的获取,有可能会重名

driver.find_element(By.NAME,'wd').send_keys('2222')

4. 使用tag_name定位:通过元素的标签名称来进行元素的获取,一定会重名,一般在自动化中几乎不用

  • tag是用标签来定位元素,标签就是我们说的html页面上的,,......
  • ​​​​​​​html页面中肯定存在多个相同的标签名,如果使用标签定位,一般默认第一个标签
elements = driver.find_elements(By.TAG_NAME,'a')
for e1 in elements:
    if '地图' in e1.text:
        e1.click()

5. 使用lass_name定位:通过元素的class属性来进行元素的获取

driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('3333')

6. 使用xpath定位:通过xpath表达式进行定位

注意:xpath是相对路径,full xpath是绝对路径
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('4444')
driver.find_element(By.LINK_TEXT, "地图").click()
模糊查询一般默认第一个查到的关键字对应的
driver.find_element(By.PARTIAL_LINK_TEXT, "中").click()

9. 使用css_selector定位:基于class属性来进行定位的

css选择的属性:【id:#id】 【name:[name=wd]】 【class(类选择器):.s_ipt】
driver.find_element(By.CSS_SELECTOR, "#kw").send_keys('555')
sleep(3)
driver.find_element(By.CSS_SELECTOR, "#kw").clear()

driver.find_element(By.CSS_SELECTOR, "[name=wd]").send_keys('666')
sleep(3)
driver.find_element(By.CSS_SELECTOR, "[name=wd]").clear()

driver.find_element(By.CSS_SELECTOR, ".s_ipt").send_keys('777')

你可能感兴趣的:(python,学习,selenium,测试工具,python,开发语言)