请在开发人员工具窗口中看到下图,该图显示了网页的代码,并向我建议“折旧模型”的正确选择器。以红色突出显示的文本是恒定的,但是周围的文本是动态的。因此,我尝试使用包含选择器来查找但未成功。我想避免使用XPATH,因为div元素前后的数量可能会不断变化。
我正在使用Selenium IDE,因此RC / Webdriver的C#/ Java代码无济于事。
Selenium IDE生成的目标路径是这样的:
css=#dhxId_rgWATog7lC3E_27572|6059|6152 > td.sub_item_text > div.sub_item_text
我尝试了
css=contains('27572') > td.sub_item_text > div.sub_item_text
但是没有用。
建议。我被困住了。谢谢。
答案 0 :(得分:1)
我想这是正确的方法:
<style>
[id*="27572"] > td.sub_item_text > div.sub_item_text{
color:red;
}
<table>
<tbody>
<tr id="dhxId_rgWATog7lC3E_27572|6059|6152" class="sub_item">
<td class="sub_item_icon">
<i class="fa fa-user epc-down-circled-2"></i>
</td>
<td class="sub_item_text">
<div class="sub_item_text"> Depriciations Models</div>
</td>
</tr>
</tbody>
</table>
它将设置所有id属性值包含“ 27572”及其内部的元素。
答案 1 :(得分:1)
在尝试Locator Strategy时,如下所示:
css=contains('27572') > td.sub_item_text > div.sub_item_text
id
的部分字符串 < em>属性。
The :contains pseudo-class isn't in the CSS Spec and is not supported by either Firefox or Chrome (even outside WebDriver).
您可以根据现有DOM Tree使用以下 xpath :
xpath=//tr[@class='sub_item'][contains(@id,'27572')]//td[@class='sub_item_text']/div[@class='sub_item_text'][contains(.,'Depreciations Models')]