使用xpath时隐藏的元素是可见的

时间:2017-04-18 11:18:06

标签: python angularjs xpath webdriver

我有一个角度的应用程序wirten我做的所有xpath在DOM中可见但在页面上不可见。因此,如果我想检查元素在某些操作之后是否可见,我会预先形成我无法做到这一点,因为即使测试失败,webdriver也能看到它。

f.e。 我想测试登录表单,登录后我想看看是否有一些元素是可见的。当我输入无效数据时,测试应该失败,但是仍然会发现这个元素,因为他被隐藏了。

我希望selenium只找到可见元素,我该怎么做?

1 个答案:

答案 0 :(得分:0)

你可以形成你的xpath,它只为你提供可见元素。以下是 google.com

谷歌搜索按钮的xpath
//input[@name='btnK' and not(ancestor::div[contains(@style,'display:none')]) and not(ancestor::div[contains(@style,'display: none')])]