我试图找到一个href
元素一段时间没有任何成功。
String EMAIL_NOTIFICATIONS_PAGE = "[ng-href=\"#/settings/notifications/48\"]";
号码不断变化。有时硒能够定位元素并按下它,但有时却不能。我注意到这个数字在不断变化。
我附上2张截图。
有关如何找到其href
在运行中更改的元素的任何建议吗?
答案 0 :(得分:1)
如果动态更改,您可以尝试以下方法:
driver.findElement(By.xpath(".//a[contains(text(), 'Email notification settings')]"));
这取决于文字,这不是最佳做法,但它可能应该有效。
答案 1 :(得分:0)
您可以找到所有href元素,并将其文本检查为特定内容,您的场合为Email notification settings
。如果我不能使用干净简单的方法来定位元素,我总是使用这种方法。
答案 2 :(得分:0)
您可以使用CSS选择器识别所有标签:.t6.s10.clickable.no-underline
。
然后使用列表(数组)中的索引访问所需元素。
答案 3 :(得分:0)
你也可以试试
driver.FindElement(By.LinkText("Email notification settings"));
答案 4 :(得分:0)
您可以使用以下任何XPath:
//a[contains(text(),'Email notification settings')]
或:
//a[contains(@href,'#settings/notifications/18')]
或:
//a[@href='#settings/notifications/18']