我正在写硒测试。

我在那里有一个标签“分配设计师”,选择框紧随标签后面。不幸的是,选择框具有动态 id,我无法通过 id 或任何其他属性查询它。

我可以构建返回“在文本‘分配设计器’之后首先选择标签”的 XPath 查询吗?

附言。Selenium 仅支持 XPath 1.0

有帮助吗?

解决方案

这会是这样的:

//label[text() = 'Assign Designer']/following-sibling::select[1]

注意:

  • // 简写效率非常低,因为它会导致整个文档范围的扫描。如果您可以更具体地说明标签的位置,我建议您这样做。但是,如果文档很小,这就不成问题。
  • 由于我对Selenium了解不多,所以我使用了“标签”。如果它不是一个 <label>, ,当然,您应该使用实际的元素名称。;-)
  • 请务必包含位置谓词 ([1], ,在这种情况下)每当您使用像“following-sibling”。它很容易被遗忘,如果是的话,你的表达可能会产生意想不到的结果。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top