我有这段代码
WebElement element = driver.findElement(By.id("j_idt9:usuario"));
我想知道如何使用XPath搜索特定的ID。在这种情况下,我想搜索“usuario”部分,因为“j_idt9”部分发生了变化。我知道可以使用CSS Selector完成,但我需要使用XPath。
答案 0 :(得分:2)
你应该告诉你的教授,CSS选择器不只是用于课程......如果他/她真的这么说,他们应该感到尴尬并且去做一些阅读。他们可以从这两个引用开始:
https://www.w3.org/TR/selectors/#selectors
https://saucelabs.com/resources/articles/selenium-tips-css-selectors
如果必须使用XPath,它看起来像
"//*[ends-with(@id, 'usuario')]"
您最好使用CSS选择器,因为它更快,并且拥有更好,更一致的浏览器支持。它看起来像
"[id$='usuario']"
通常,您的定位器策略应如下所示......
仅当其他方法不起作用时才应使用By.xpath。像你需要通过它包含的文本找到一个元素,或者你必须做一些CSS不能做的父/子班次。