【问题标题】:Query html tag with XPath使用 XPath 查询 html 标签
【发布时间】:2009-05-31 18:18:15
【问题描述】:

我正在编写硒测试。

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

我可以构建返回“文本'分配设计器'之后的第一个选择标记”的 XPath 查询吗?

PS。 Selenium 仅支持 XPath 1.0

【问题讨论】:

    标签: xpath selenium


    【解决方案1】:

    这可能是这样的:

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

    请注意:

    • // 速记非常低效,因为它会导致文档范围的扫描。如果您可以更具体地了解标签的位置,我建议您这样做。但是,如果文档很小,这将不是问题。
    • 由于我对 Selenium 了解不多,所以我使用了“标签”。如果不是<label>,当然应该使用实际的元素名称。 ;-)
    • 无论何时使用“following-sibling”之类的轴,请务必包含一个位置谓词(在本例中为[1])。它很容易被遗忘,如果是,你的表达可能会产生意想不到的结果。

    【讨论】:

    • XPath 1.0 规范是否支持“following-sibling”?
    • 多么奇怪的问题...你试过查一下吗? w3.org/TR/xpath#axes
    猜你喜欢
    • 2011-04-18
    • 2012-08-02
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多