【发布时间】:2011-04-27 18:41:08
【问题描述】:
我的 HTML 基本上如下所示:
...
<a class="btnX btnSelectedBG" href="#"><span>Sign in</span></a>
...
Selenium 中的以下 xpath 找不到 元素:
//a[contains(text(), 'Sign in') and contains(@class,'btnX')]
Selenium 中的以下 xpath 成功,但对我来说不够具体。
//a[contains(text(), 'Sign in')]
//a[contains(@class, 'btnX')]
为什么 xpath 找不到元素,我该怎么做才能让它工作?
【问题讨论】:
-
//a[contains(text(), 'Sign in')]不应选择该元素 -
是的,在两个可行的选项中,我同意第一个应该 not 工作 - 除非它获取子元素的 text() 并加入它们,如JavaScript 可以。但是,当我编造某种模糊逻辑(一旦我使用了特定的“上下文”元素)时,我很难将其与其他测试 except 结合使用这一事实对于表达式,它无法评估该上下文之外的其余表达式。
-
它会起作用,因为它也在收集子元素的文本。这可能是一种痛苦和一种恩惠:)
标签: selenium selenium-rc xpath