014、单数定位 与 复数定位

 

一、单数定位与复数定位

  1、find_element_by_xx 定位单个元素


  2、find_elements_by_xx 定位一组元素

 

1、定位单个元素

1.通过id定位:find_element_by_id()

2.通过name定位:find_element_by_name()

3.通过class定位:find_element_by_class_name()

4.通过tag定位:find_element_by_tag_name()

5.通过link定位:find_element_by_link_text()

6.通过partial_link定位:find_element_by_partial_link_text()

7.通过xpath定位:find_element_by_xpath()

8.通过css定位:find_element_by_css_selector()   

 

2、复数定位

1.通过id定位:find_elements_by_id()

2.通过name定位:find_elements_by_name()

3.通过class定位:find_elements_by_class_name()

4.通过tag定位:find_elements_by_tag_name()

5.通过link定位:find_elements_by_link_text()

6.通过partial_link定位:find_elements_by_partial_link_text()

7.通过xpath定位:find_elements_by_xpath()

8.通过css定位:find_elements_by_css_selector()    

 

单数定位  与  复数定位

区别 1

  返回对象不同

  find_element   返回 element 元素对象

   find_elements  返回 list of element  一个列表

 

区别2

定位到0个元素(找不到元素时候)

find_element    会抛异常,程序中断  , NoSuchElementException:Unable to locate

find_elements    返回一个空的列表 [ ] ,不会抛异常

 

区别3

定位到大于1个元素的时候

find_element   返回html中第一个元素

find_elements    返回所有的元素

 

复数定位下标取值,操作元素

 

 

示例代码如下:

# -*- coding:utf-8 -*-
# Author:  Sky
# Email:   2780619724@qq.com
# Time:    2021/8/18 1:06
# Project: day01
# Module:  study_16.py
# Environment: Python3.8.6 , Selenium3 环境 ( 3.141.0 版本)
# Environment: Chrome ( 92.0.4515.131, 正式版本) + chromedriver(92.0.4515.107版本)


from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://49.235.92.12:8200/users/login/")

time.sleep(3)

# 多个input,用 element 取到 第一个 input
element = driver.find_element_by_tag_name("input")
print(element)  # WebElement

# 有多个input,用elements取值,得到一个 list
elements = driver.find_elements_by_tag_name("input")
print(elements)  # [WebElement]


# 多个input,用 element 取到第一个 input,发送用户名 ;
driver.find_element_by_tag_name("input").send_keys("112233456@qq.com")

# 有多个input,用elements取值,得到一个 list
all_input = driver.find_elements_by_tag_name("input")

# 判断总共有多少个元素
print("元素个数:%s" % len(all_input))

# 复数定位下标取值,操作元素
all_input[1].send_keys("123456")
all_input[2].click()

time.sleep(3)
driver.quit()

 

posted @ 2021-08-18 01:23  空-山-新-雨  阅读(173)  评论(0编辑  收藏  举报