Selenium webdriver - 如何定位下拉选择元素,第一部分是动态的,第二部分是静态的

问题描述 投票:0回答:1

ID 是动态的 - 第一部分是动态的,第二部分是静态的

[元素代码示例]

<div class="ng-option ng-star-inserted" role="option" id="abc123-0">
<div class="ng-option ng-star-inserted" role="option" id="abc123-1">
<div class="ng-option ng-star-inserted" role="option" id="abc123-2">

abc123
是动态的,
-0
-1
-2
是静态

无法捕获下拉列表中的值

我已经尝试过以下:

//div[contains(@id,'-2')]
- 不工作

//div[ends-with(@id,'-2')]
- 不工作

java selenium-webdriver xpath webdriver
1个回答
0
投票
如果出现以下情况,

//div[contains(@id,'-2')]
将不起作用:

  1. 你的结果只需要一个元素,除了
    id="abc123-2"
    之外还有
    id="abc123-21"
  2. 随机字符串
    abc123
    还包含
    -2

如果随机字符串

abc123
不包含破折号,你可以使用这个XPath:

//div[substring-after(@id,'-')='2']


    

© www.soinside.com 2019 - 2024. All rights reserved.