在同一个DIV中存在2个按钮的XPath逻辑AND

时间:2013-11-22 08:05:59

标签: xpath selenium logical-operators

我有一个XPath表达式,它使用以下内容正确验证Boolean True:

//div[starts-with(@id, 'toolbar')]//div[starts-with(@id, 'button')]//a/span[text() = 'Update'] and //div[starts-with(@id, 'toolbar')]//div[starts-with(@id, 'button')]//a/span[text() = 'Save']

没关系,但它没有断言两个元素是否都包含在同一个DIV中,这正是我在Selenium脚本中尝试使用的。

如果//div[starts-with(@id, 'toolbar')]是匹配的DIV元素,我该如何断言:

//div[starts-with(@id, 'button')]//a/span[text() = 'Update']

//div[starts-with(@id, 'button')]//a/span[text() = 'Save']

包含在其中?

3 个答案:

答案 0 :(得分:0)

以下内容可以隔离我的目标容器,但我希望能够使用原始问题中的DIV > A > SPAN > TEXT进行回答:

//div[starts-with(@id, 'toolbar')][contains(div, 'Update') and contains(div, 'Save')]

答案 1 :(得分:0)

不幸的是没有提供输入XML,但我想这就是你搜索的内容:

 //div[starts-with(@id, 'toolbar') and div[starts-with(@id, 'button')]/a/span[. = 'Update'] and div[starts-with(@id, 'button')]/a/span[. = 'Save']]

答案 2 :(得分:0)

我认为那是你正在寻找的XPath:

//div[starts-with(@id, 'toolbar') and //div[starts-with(@id, 'button')]//a/span[text() = 'Update'] and //div[starts-with(@id, 'button')]//a/span[text() = 'Save']]