当前位置: 首页 > news >正文

selenium元素定位--xpath定位--层级与逻辑组合定位

其他元素非唯一时,又不想用xpath绝对定位时,需要用到层级与逻辑定位.

一、层级属性结合定位:

遇到元素没有class、name、id等或属性动态变化情况时,可以找父节点元素,父级节点没有id时,可以继续往上找id,定位到id元素后,依次往下找。通过标签定位。层级定位

例如:百度输入框

from selenium import webdriver  # webdriver浏览器驱动,包含了各种前端浏览器的操作的工具方法
from selenium.webdriver.common.by import By
driver =webdriver.Chrome()
driver.implicitly_wait(5) #隐式等待5s
driver.maximize_window()
driver.get("http://www.baidu.com")#层级属性结合定位输入框
driver.find_element(By.XPATH,"//form[@id='form']/span/input[1]").send_keys('selenuim')
#ID定位“百度一下”
driver.find_element(By.ID, "su").click()
#关闭
driver.quit()

1.(//)当前页面

2.(form)先定位到form元素

3.([@id='loginForm']) form元素的id值

4.(/)标签层级含义

5.[1]代表个数,第多少个,与数组的显示个数不同。

二、逻辑运算组合定位

单个元素的属性不唯一的定位:class  name   ID  元素属性全部不唯一时,进行组合定位,同时满足(and),同时作为定位依据,进行元素的精准定位。

find_element_by_xpath("//form[@id='kw' and @name='wd']").send_keys("python")

相关文章:

  • VUE3——reactive对比ref
  • 阿里云子域名配置,且不带端口访问
  • unity实现2D主角视野锥解决方案
  • 部标JT808车辆定位监控平台单服务器13.6万接入压力测试记录(附源码)
  • 面试题-Elasticsearch集群架构和调优手段(超全面)
  • 谷粒商城——缓存——SpringCache
  • 计算机网络——网络基础1
  • 在django中使用kindeditor出现转圈问题
  • Leetcode 3.26
  • 图像处理与视觉感知---期末复习重点(4)
  • 【前端】-【性能优化常识】
  • Midjourney AI绘图工具介绍及使用
  • GIMP - GNU 图像处理程序 - 工具栏窗口 (Toolbox) 显示
  • checkpoint 大模型、VAE、LoRA、Embedding、Controlnet这些是什么模型
  • excel创建和部分使用
  • java中的hashCode
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • k8s 面向应用开发者的基础命令
  • Python连接Oracle
  • Spring Cloud Feign的两种使用姿势
  • 计算机在识别图像时“看到”了什么?
  • 技术:超级实用的电脑小技巧
  • 聊聊hikari连接池的leakDetectionThreshold
  • 聊聊sentinel的DegradeSlot
  • 删除表内多余的重复数据
  • 我是如何设计 Upload 上传组件的
  • 赢得Docker挑战最佳实践
  • 用jQuery怎么做到前后端分离
  • 自制字幕遮挡器
  • ionic异常记录
  • 数据库巡检项
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (算法二)滑动窗口
  • *** 2003
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .gitignore
  • .net 7 上传文件踩坑
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET中使用Redis (二)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @media screen 针对不同移动设备
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [<MySQL优化总结>]
  • [Assignment] C++1
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C#基础]说说lock到底锁谁?
  • [C++] Windows中字符串函数的种类