Selenium02-查找元素方式

一、静态查找

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • Selenium Selenium 是一套跨平台的浏览器自动化测试框架(工具),支持在多种系统环境、多种浏览器环境...
    Anyers阅读 7,079评论 1 18
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,749评论 1 45
  • 很多人说,到了而立之年,就可以找一个人结婚生子,那个人不需要和你有感情,因为在他们眼里,爱情是可以培养的。 爱...
    三言沐心阅读 700评论 0 2