尝试了许多方法来获取ID,但我无法找到确切的ID或有效的结果,因为有多个ID和它共享多个相同的类。
尝试以下方法,但我没有得到确切的ID需要
//Approach 1
divId = driver.findElement(By.xpath("(//div[@data-activity-type='CompatCheck'])")).getAttribute("id");
//Approach 2
divId = driver.findElement(By.xpath("(//div[@data-activity-type='CompatCheck'])[2]")).getAttribute("id");
//Approach 3
driver.findElement(By.xpath("//div[@data-activity-type='CompatCheck'] and contains(.,'AndroidTesting')]")).getAttribute("id"));
请查找下面的HTML代码:
<div>
<strong>Reena</strong>:
<label id="compatcheck_label">
<em class="Highlight" style="padding: 1px; box-shadow: rgb(229, 229, 229) 1px 1px; border-radius: 3px;
background-color: rgb(0, 191, 255); color: rgb(0, 0, 0); font-style: inherit;" match="test" loopnumber="472046515">Test</em>device testing - AndroidTesting
</label>
</div>
<div>
<span style="float: none;" class="special-apps-list">(Special Tag)
</span>
<label id="label_1100"></label>
<span style="float: none;">0d 4h 39m 49s</span>
</div>
<div id="div_1100" data-activity-type="CompatCheck" class="mainActivity">
</div>
从上述HTML代码中观察到,标签id和div id相同(1100),与其他类的区别在于“器械测试- AndroidTesting”
是否有任何方法可以通过使用“设备测试- AndroidTesting”获得label id或div id(因为两者相同),因为它是唯一唯一的和恒定的元素。
使用“器械测试- AndroidTesting”作为唯一的预期输出
label_1100
div_1100
1条答案
按热度按时间mrzz3bfm1#
根据给定的HTML打印所需的文本,您可以使用以下locator strategies:
label_1100
:div_1100
: