题
我正在写硒测试。
我在那里有一个标签“分配设计师”,选择框紧随标签后面。不幸的是,选择框具有动态 id,我无法通过 id 或任何其他属性查询它。
我可以构建返回“在文本‘分配设计器’之后首先选择标签”的 XPath 查询吗?
附言。Selenium 仅支持 XPath 1.0
解决方案
这会是这样的:
//label[text() = 'Assign Designer']/following-sibling::select[1]
注意:
- // 简写效率非常低,因为它会导致整个文档范围的扫描。如果您可以更具体地说明标签的位置,我建议您这样做。但是,如果文档很小,这就不成问题。
- 由于我对Selenium了解不多,所以我使用了“标签”。如果它不是一个
<label>
, ,当然,您应该使用实际的元素名称。;-) - 请务必包含位置谓词 (
[1]
, ,在这种情况下)每当您使用像“following-sibling
”。它很容易被遗忘,如果是的话,你的表达可能会产生意想不到的结果。
不隶属于 StackOverflow