Selenium(一):八大元素定位

元素定位八大方法

1、find_element_by_id 通过id定位

find_element(By.ID,"kw")  #建议使用

2、find_element_by_name 通过标签名定位

find_element(By.NAME,"wd")  #建议使用

3、find_element_link_text 通过链接文本定位

find_element(By.LINK_TEXT,"百度首页")  #建议使用

4、find_element_partial_link_text 通过部分链接文本定位

find_element(By.PARTIAL_LINK_TEXT,"度首")  #建议使用

5、find_element_by_xpath 通过xpath定位

find_element(By.XPATH,'//*[@id="kw"]')  #建议使用

6、find_element_by_tag_name 通过标签名定位

find_element(By.TAG_NAME,'input')  #建议使用

7、find_element_by_css_selector 通过css选择器定位

find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(7)")  #建议使用

8、find_element_by_class_name 通过css class定位

find_element(By.CLASS_NAME,"s_ipt")  #建议使用

find_element() 中 类型为空,默认为By.ID

from selenium import webdriver
from selenium.webdriver.common.by import By
class TestCase(object):def __init__(self):self.driver = webdriver.Chrome()  # from .chrome.webdriver import WebDriver as Chrome  # noqaself.driver.maximize_window()self.driver.get("https://www.baidu.com/")def test_id(self):elementId = self.driver.find_element(By.ID,"kw").send_keys("selenium")  #根据ID定位  ID是唯一的def test_name(self):#elementName = self.driver.find_element_by_name("wd")elementName = self.driver.find_element(By.NAME,"wd")   #根据Name定位,若存在多个相同name,会返回第一个def test_link_text(self):self.test_id()#self.driver.find_element_by_link_text("百度首页").click()self.driver.find_element(By.LINK_TEXT,"百度首页").click()  # 根据 Link_Text定位(链接类文本)def test_partial_link_text(self):   #部分的链接类文本self.test_id()self.driver.find_element(By.PARTIAL_LINK_TEXT,"度首").click()def test_xpath(self):self.driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("selenium")def test_tag_name(self):input = self.driver.find_element(By.TAG_NAME,'input')print(input) #<selenium.webdriver.remote.webelement.WebElement (session="371459cca6375285450f39039bf5bb32", element="f.74336247EAF5E2710B160F4F13F43681.d.5EC84632664EB0B7AF3D39F7775B5967.e.14")>def test_css_selector(self):self.driver.find_element(By.CSS_SELECTOR,"#s-top-left > a:nth-child(7)").click()def test_class_name(self):self.driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("selenium")
if __name__ == '__main__':case =TestCase()#case.test_id()#case.test_name()#case.test_link_text()#case.test_partial_link_text()#case.test_xpath()#case.test_tag_name()#case.test_css_selector()case.test_class_name()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/1901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高级软考项目管理之项目进度管理

项目进度管理 规划进度管理:为规划、编制、管理、执行和控制项目进度而制定政策程序和文档的过程。 #mermaid-svg-AxNznqgNM9LuBQ9a {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-AxNznqgNM9LuBQ9a .error-icon{f…

VSCode的C/C++开发 ===> Windows

一、开发环境搭建 安装mingw-w64编译器(GCC for Windows 64 & 32 bits)、Cmake工具(选装) VSCode插件安装 C/C cmake cmake tools 二、代码实践演练 基于g命令 g编译单文件&#xff0c;生成带调试信息的可执行文件、并调试 g -g main.cpp -o my_single_swap g编译多文件…

element plus 布局 代码没反应 样式并未生效

就是这样深深浅浅的颜色不显示&#xff0c;整个页面都是白的。 因为网页上示例代码中没有 添加grid-content ep-bg-purple-dark 等相关颜色的样式 在element plus的github中有相关代码&#xff0c;这里可以找到颜色样式 element-plus/docs/examples/layout/index.scss at de…

C语言(扫雷游戏)

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

webgl canvas系列——animation中基本旋转、平移、缩放(模拟冒泡排序过程)

文章目录 ⭐前言⭐canvas绘制图片&#x1f496;状态保存和恢复&#x1f496;移动、旋转、缩放、变形&#x1f496;移动绘制一个渐变的box&#x1f496;旋转&#x1f496;缩放 ⭐模拟冒泡排序过程⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享webgl canvas系…

JAVA学习笔记25(面向对象编程(高级))

1.4 final关键字 ​ *final可以修饰类、属性、方法和局部变量 1.可能会用到final关键字 1.当不希望类被继承时&#xff0c;可以用final修饰 final class A{ }2.当不希望父类的某个方法被子类覆盖/重写(override)时&#xff0c;可以用final关键字修饰 【访问修饰符 final 返…

GB4806.11食品接触用天然橡胶餐具检测标准解读

GB 4806.11-2023是食品安家标准&#xff0c;针对食品接触用橡胶材料及制品进行了详细规定。该标准于2023年发布&#xff0c;旨在确保食品接触用橡胶材料及制品的安全性和卫生性&#xff0c;以保障消费者的健康。 与之前的版本相比&#xff0c;GB 4806.11-2023主要进行了以下修…

企业常用Linux正则表达式与三剑客/企业生产环境及知识/企业中远程连接ssh工具(为什么连接有时慢?)

企业高薪思维: 1.学习去抓重点有价值知识 2.猛劲学&#xff0c;使劲学&#xff08;能否给别人将会&#xff0c;讲明白&#xff0c;写明白&#xff0c;练习明白&#xff09;&#xff0c;在学习过程中你觉得学会了60-80%&#xff0c;其实你只会了40-50%&#xff0c;你要讲明白会操…

构建云原生湖仓:Apache Iceberg与Amoro的结合实践

随着大数据技术的快速发展&#xff0c;企业对数据的处理和分析需求日益增长。传统的数据仓库已逐渐无法满足现代业务对数据多样性和实时性的要求&#xff0c;这促使了数据湖和数据仓库的融合&#xff0c;即湖仓一体架构的诞生。在云原生技术的推动下&#xff0c;构建云原生湖仓…

AWD线下攻防万字最完整战术(记第一届“长城杯”半决赛战术)

目录 准备阶段 1.登录比赛平台&#xff08;获取资产&#xff09; 查看账号账号修改 服务器SSH口令mysqlWEB服务口令(后台密码)数据库后台管理员密码 账号用户检查 2.dump源码&#xff08;方便应急响应恢复靶机&#xff09; 网站源码备份 压缩文件解压文件备份到服务器本地上传…

【原创】springboot+mysql疫苗预约管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Linux部署Coturn以及关于打洞的思考

目录 Coturn介绍部署架构图 2.1 局域网——无NAT映射 2.2 NAT网Corturn安装步骤验证 4.1 局域网——无NAT映射 4.2 NAT网 4.2.1 Cywin安装步骤 4.2.2 Coturn安装步骤 4.2.3 验证引言 下文部署架构图为Corturn为解决互联网NAT环境下“找朋友”的部署架构,也是Coturn发挥其价值…

玩转 AIGC!使用 SD-WebUI 实现从文本到图像转换

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学&#xff0c;针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 基于大家…

javaScript常用知识点

1. this指向问题 在绝大多数情况下&#xff0c;函数的调用方式决定了this的值。this不能在执行期间被赋值&#xff0c;并且在每次函数被调用时this的值也可能会不同。 this指向的对象称为函数的上下文对象context&#xff1b;this的指向取决于函数被调用方式this的指向不是函数…

HCIP-Datacom-ARST必选题库_22_SDWAN【1道题】

一、单选 1.SD-WAN解决方案适合如下哪个场景? 企业分支互联 企业数据中心网络内部互联 企业园区无线网络部署 略

【更新】cyのMemo(20240422~)

序言 胡哥首马在淮安325完赛&#xff0c;他的本硕都在淮安度过&#xff0c;七年的跑步生涯画上句号&#xff0c;真的是很圆满。七年&#xff0c;从180斤瘦到120斤&#xff0c;历经种种&#xff0c;胡哥理解的跑步&#xff0c;不是快&#xff0c;而是稳&#xff0c;他在比赛中从…

Python-08-程序跳转语句(break、continue)、空语句pass

目录 1、程序跳转语句 2、空语句pass 3、本章小结 1、程序跳转语句 程序跳转语句break用于跳&#xff08;退&#xff09;出循环结构&#xff0c;通常与if一起搭配使用 语法结构 while 表达式1: 执行代码 if 表达式2: break s0 #存储累加和 i1 #&#xff08;…

力扣HOT100 - 226. 翻转二叉树

解题思路&#xff1a; class Solution {public TreeNode invertTree(TreeNode root) {if (root null) return null;TreeNode left invertTree(root.left);TreeNode right invertTree(root.right);root.left right;root.right left;return root;} }

《ElementUI 基础知识》png 图片扩展 icon用法

前言 UI 设计给的切图是 .png 格式。但想与 Element UI icon 用法类似&#xff0c;方案如下。 实现 步骤一 准备图片 步骤二 新建文件&#xff0c;可使用 CSS 预处理语言 styl 或 scss。 stylus 方式 文件 icon.styl /* 定义一个混合 */ cfgIcon(w, h) {display: inlin…

json-cpp的下载与使用

1.json-cpp 的概要 JSON 是一种数据交换格式&#xff0c;常用于网络应用编程中的序列和反序列化。 JSON 的数据类型只有如下几种&#xff1a; 对象&#xff0c;使用 {} 包含数组&#xff0c;使用 [] 包含字符串&#xff0c;使用 "" 包含数字&#xff08;包含整数和…