元素定位
一、元素定位方法
1、单数的定位方法
定位方法: | |
---|---|
1.通过name定位 | find_element_by_name() |
2.通过class定位 | find_element_by_class_name() |
3.通过tag定位 | find_element_by_tag_name() |
4.通过link定位 | find_element_by_link_text() |
5.通过partial_link定位 | find_element_by_partial_link_text() |
6.通过id定位 | find_element_by_id() |
7.通过xpath定位 | find_element_by_xpath() |
8.通过css定位 | find_element_by_css() |
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(url="http://chat.rainbowred.com/login-page/v2/login.html?language=zh")
def locate_ele():
ele = driver.find_element_by_id("username")
print(ele.get_attribute("placeholder"))
ele = driver.find_element_by_name("password")
print(ele.get_attribute("placeholder"))
ele = driver.find_element_by_class_name("remember-box")
time.sleep(2)
ele.click()
ele = driver.find_element_by_link_text("进入官网")
print(ele.text)
ele = driver.find_element_by_partial_link_text("下")
print(ele.text)
ele = driver.find_element_by_tag_name(name="a")
print(ele.get_attribute("text"))
2、复数的定位方法
定位方法: | |
---|---|
1.通过name定位 | find_elements_by_name() |
2.通过class定位 | find_elements_by_class_name() |
3.通过tag定位 | find_elements_by_tag_name() |
4.通过link定位 | find_elements_by_link_text() |
5.通过partial_link定位 | find_elements_by_partial_link_text() |
6.通过id定位 | find_elements_by_id() |
7.通过xpath定位 | find_elements_by_xpath() |
8.通过css定位 | find_elements_by_css() |
单数和负数定位的区别:
-
单数定位元素的时候找不到元素会抛异常,复数定位则不会。
-
单数定位返回是返回的一个元素,复数定位则是返回的一个列表。
3、css定位和xpath定位
有时元素可能没有name,id,link这些属性,tag,class这些属性又不唯一,这时我们可以通过xpath和css定位的方式来定位元素
1.xpath定位
-
绝对路径定位
dri