处理动态 Xpath

2023-12-03

我正在使用 Selenium 实现自动化。需要您的帮助来处理动态 Xpath,如下所示:

Driver.findElement(By.xpath("//[@id='INQ_2985']/div[2]/tr/td/div/div[3]/div")).click();

如上INQ_2985更改为2986,2987,2988每次运行期间等

HTML 代码:

< div> class="context-menu-item-inner" style="background-image:url(../images/productSmall.png);">Tender Assignment < /div> 

尝试了以下不同的组合,但没有成功:

// Driver.findElement(By.name("//input[@name='Tender Assignment']")).click();
//  Driver.findElement(By.className("context-menu-item-inner")).click();` 

你能帮我解决这个问题吗?


你可以尝试使用contains() or starts-with()在 xpath 中,

上面的 xpath 可以重写如下,

Driver.findElement(By.xpath("//*[starts-with(@id,'INQ')]/div[2]/tr/td/div/div[3]/div")).click() ;

如果您可以发布更多 html,我们可以帮助改进您的 xpath..

  • 此外,不建议使用这么长的 xpath,这可能会导致您的测试更频繁地失败

例如,如果将“新表数据或div”添加到UI,则上面的xpath将不再有效

  • 您应该尝试使用 id、class 或其他属性来更接近您尝试查找的元素
  • 我个人推荐使用cssSelectors over xpath
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理动态 Xpath 的相关文章

随机推荐

  • XCode 4.2.1 上的临时分发 - 权利

    我正在尝试构建我的应用程序以进行临时分发 在 TestFlight 上 我已阅读所有说明并进行了大量网络搜索 我的问题是如何在 Xcode 4 2 1 上创建 entitlements plist 所有说明均表示转到 新建文件 然后在代码签
  • 使用动作监听器获取 JButton 的文本

    有没有理由getText导致error cannot find symbol在代码中显示的动作侦听器内 另外 如果有 我该如何修复这个错误 class openNewPaneActionListener implements ActionL
  • jquery中仅选择第一级元素

    如何仅选择父级的链接元素 ul 从这样的列表中 ul li a href Link a li li a href Link a ul li a href Link a li li a href Link a li li a href Lin
  • 重写实例上的特殊方法

    考虑以下代码 gt gt gt class A object pass gt gt gt def repr self return A gt gt gt from types import MethodType gt gt gt a A g
  • wp_get_attachment_url() 中不带域名的文件路径

    wp get attachment url 处理完整文件路径 例如 http example com wp content uploads 2014 12 aura mp3 我想要没有的网址http example com 所以 我想要上面
  • 在外部库协议中添加和使用新方法时发出警告

    我正在使用外部库 并且我的视图控制器之一正在注册为该框架中的类的委托 现在 在一个地方我想在这个委托类上执行一些代码 我正在为此编写一个方法并在我的委托上调用它 现在 一切正常 但我收到一条警告 称这个新添加的方法不是协议的一部分 这是我的
  • 正则表达式仅允许 1 个字符

    rex lt gt i 我在使用这个正则表达式时遇到了问题 这个想法是检查输入字段中是否存在某些字符 如果存在 则抛出错误 对于每个长度超过 1 个字符的字符串 此正则表达式会引发错误 谁能告诉我我做错了什么 编辑 人们说他们不明白我想用这
  • ruby:批量初始化实例变量

    有没有一种简单的方法来批量分配实例变量 def initialize title nil label left nil label right nil color set nil title title label left label l
  • 为什么在初始化 Spring 时会出现 NullPointerException

    我在服务器上运行批处理作业时遇到问题 而它在我的开发工作站上的 Eclipse 中运行良好 我已经使用 Roo 设置了 Spring 环境 创建了一个实体 并制作了一个可以完成一些工作的批处理 并在我的开发盒上对其进行了良好的测试 我初始化
  • 如何在 Firemonkey 中使用动画 gif?

    如何在 Firemonky 中使用动画 GIF 我可以使用 Timage 加载 gif 但它不是动画 我正在使用 Delphi 10 2 东京 也许有点晚了 但在此页面上找到了一个简单的解决方案 http www raysoftware c
  • Python 将空格分隔的文件行读取为单独的行

    这是在 Windows Server 2008 R2 上 我有一个输入文件 每行一个输入 一些输入中包含空格 我尝试使用下面的简单代码 但它分离出每个单词而不是每行 我最终应该有 208 个新文件夹 删除所有空格 但因此我最终得到 230
  • 为 .NET 5 Core 控制器单元测试模拟或创建实用的 ODataQueryOptions

    我正在将现有的 API 迁移到 net 5 并且面临单元测试迁移的问题 我想保留测试和测试控制器 但我找不到处理 ODataQueryOptions 的方法 因为此类已更改 我无法再找到创建 ODataQueryOptions 的方法 与我
  • JOptionPane - 检查用户输入并防止关闭,直到满足条件

    请有人告诉我是否有一种方便的方法可以防止JOptionPane除非满足用户输入字段的条件 否则单击 确定 后关闭 或者我别无选择只能使用JFrame 到目前为止我的验证逻辑 似乎不起作用 因为由于某种原因这些按钮是一次性可点击的 final
  • Typhoon 与 Storyboard,实例化 ViewController

    在台风中使用故事板时 如果我在程序集中执行类似的操作 id myController return TyphoonDefinition withClass BigController class configuration TyphoonD
  • 如何为 https Web 服务器创建 .pem 文件

    我使用 Node js 中的 Express 框架来创建 Web 服务器 我想使用 ssl 进行 Web 服务器的连接 创建 https Web 服务器的代码如下 var app express createServer key fs re
  • 如何在发出原始 HTTP 请求时轻松解码 HTTP-chunked 编码字符串?

    我想发出 HTTP 请求而不依赖于 cURL 和allow url fopen 1通过打开套接字连接并发送原始 HTTP 请求 Make HTTP GET request param string the URL param int wil
  • 计算 Prolog 中数字的连续出现次数

    你好 我正在尝试在 Prolog 中编写一个程序 给定一个列表 它会计算列表中每个连续元素的出现次数 如下所示 count 1 1 1 1 2 2 2 3 1 1 0 X 结果将是X 1 3 2 3 3 1 1 2 又名每个子列表是 ele
  • SVG 填充模式适用于 Firefox 和 Chrome,但不适用于 Safari

    Safari 6 1 5 未在 SVG 矩形中显示图案 我最终将其简化为这个测试用例
  • 需要澄清 Kurento 的 API 将 webRTCEndpoint 连接到 RTPEndpoint

    我正在尝试使用 Kurento 的 webRTCendpoint 到 RTPendpoint 的桥接 webRTCendpoint 客户端是 Chrome 浏览器 RTPendpoint 客户端是 SIP 服务器 代理 B2BUA 这是我的
  • 处理动态 Xpath

    我正在使用 Selenium 实现自动化 需要您的帮助来处理动态 Xpath 如下所示 Driver findElement By xpath id INQ 2985 div 2 tr td div div 3 div click 如上IN