一、静态查找
Selenium共有八大查找元素的方式分别是: 不细说
# id:能用id就用id
self.driver.find_element_by_id("adminNo").send_keys("12345")
# xpath
self.driver.find_element_by_xpath('//*[@id="adminNo"]').send_keys("12345")
# name
self.driver.find_element_by_name("user.loginName").send_keys("12345")
# class
self.driver.find_element_by_class_name('part1')
# tag name
e = self.driver.find_element_by_tag_name("a")
print(e.text)
# css selector
self.driver.find_element_by_css_selector("#adminNo").send_keys("12345")
# link text
self.driver.find_element_by_link_text("猫宁商城").click()
# partial link text
self.driver.find_element_by_partial_link_text("猫宁").click()
二、动态查找
- 使用背景:当网页加载特别缓慢时,使用静态查找的方法容易出现无法定位元素的问题,所以可以采用更智能的方式加载元素。
# 导入依赖包
from selenium.webdriver.support.ui import WebDriverWait
# 将元素封装成元素(id, value)的方式
search = ("id", "keyword")
# 使用动态查找的方式进行元素定位
# 其中,driver对象是浏览器对象,通过dirver = webdriver.Chrome()得来
# 30是指定的是30秒的超时时间,可以自己设置
# search是上面的元素,search前面的*是固定用法
e = WebDriverWait(driver, 30).until(lambda s: s.find_element(*search))
- 疑问咨询文件请加QQ群:1084188341