selenium(python)定位(查找)元素的方法小结
发布日期:2022-03-03 10:44:14 浏览次数:4 分类:技术文章

本文共 1200 字,大约阅读时间需要 4 分钟。

有多种方法可以在网页中定位元素。你可以为你的项目选择最合适的那一个。selenium提供以下方法用于在网页中定位元素。

如果匹配到多个元素将默认返回第一个。

  • find_element_by_id(属性)
  • find_element_by_name(属性)
  • find_element_by_xpath(根据xpath语法)
  • find_element_by_link_text(根据链接文字定位
  • find_element_by_partial_link_text(同上模糊定位)
  • find_element_by_tag_name(标签名)
  • find_element_by_class_name(类名)
  • find_element_by_css_selector(根据css语法)

查找(定位)多个元素(以下方法将会返回列表):

使用方法同定位单个元素,不同的是返回匹配的多个元素的列表。

  • find_elements_by_name
  • find_elements_by_xpath
  • find_elements_by_link_text
  • find_elements_by_partial_link_text
  • find_elements_by_tag_name
  • find_elements_by_class_name
  • find_elements_by_css_selector

除了以上给出的公共方法,还有2个私有方法也许对网页中的元素定位有用。这两个方法是find_element 和 find_elements。

举个栗子:

from selenium.webdriver.common.by import Bydriver.find_element(By.XPATH, '//button[text()="Some text"]')driver.find_elements(By.XPATH, '//button'

以下是By类可用的属性:

ID = "id"XPATH = "xpath"LINK_TEXT = "link text"PARTIAL_LINK_TEXT = "partial link text"NAME = "name"TAG_NAME = "tag name"CLASS_NAME = "class name"CSS_SELECTOR = "css selector"

还可以通过javascript语法来定位,返回类型就是单个HTML元素或者数组。

webdriver.execute_script("javascript code")

举个栗子:

from selenium import webdriverdriver = webdriver.Firefox()driver.execute_script("document.getElementById('username')")

转载地址:https://blog.csdn.net/yangjiegang8/article/details/78234013 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python序列化和反序列化JSON的方法整理
下一篇:flex布局入门案例(学习笔记20171022001)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月21日 08时53分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

mysql $lt_mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于)、查找条件... 2019-04-21
install python_Install python on AIX 7 2019-04-21
jquery查找div下第一个input_jquery查找div元素第一个元素id 2019-04-21
如何修改手机屏幕显示的长宽比例_屏幕分辨率 尺寸 比例 长宽 如何计算 2019-04-21
mysql 的版本 命名规则_MySQL版本和命名规则 2019-04-21
no java stack_Java Stack contains()用法及代码示例 2019-04-21
java动态代码_Java Agent入门学习之动态修改代码 2019-04-21
python集合如何去除重复数据_Python 迭代删除重复项,集合删除重复项 2019-04-21
iview 自定义时间选择器组件_Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能... 2019-04-21
java 验证码校验_JavaWeb验证码校验功能代码实例 2019-04-21
java多线程初学者指南_Java多线程初学者指南(4):线程的生命周期 2019-04-21
java进程user是jenkins_java 学习:在java中启动其他应用,由jenkins想到的 2019-04-21
java添加资源文件_如何在eclipse中将资源文件夹添加到我的Java项目中 2019-04-21
java的三种修饰符_3分钟弄明白JAVA三大修饰符 2019-04-21
mysql source skip_redis mysql 中的跳表(skip list) 查找树(btree) 2019-04-21
java sun.org.mozilla_maven编译找不到符号 sun.org.mozilla.javascript.internal 2019-04-21
php curl 输出到文件,PHP 利用CURL(HTTP)实现服务器上传文件至另一服务器 2019-04-21
PHP字符串运算结果,PHP运算符(二)"字符串运算符"实例详解 2019-04-21
PHP实现 bcrypt,如何使php中的bcrypt和Java中的jbcrypt兼容 2019-04-21
php8安全,PHP八大安全函数解析 2019-04-21