Xpath 类名相同时如何识别元素?

Xpath 类名相同时如何识别元素?,xpath,Xpath,我有两个按钮登录和重置 <a class="dboxheader" href="javascript:setAction('ValidateUser')">Sign&nbsp;In</a> <a class="dboxheader" href="javascript:setAction('Reset')">Reset</a> 如何解决这个问题?单引号字符串中有单引号。不知道它在selenium中是如何工作的,但xalan和saxon都使

我有两个按钮登录和重置

<a class="dboxheader" href="javascript:setAction('ValidateUser')">Sign&nbsp;In</a>

<a class="dboxheader" href="javascript:setAction('Reset')">Reset</a>

如何解决这个问题?

单引号字符串中有单引号。不知道它在selenium中是如何工作的,但xalan和saxon都使用以下方法工作良好:

select='//a[@href="javascript:setAction(&apos;ValidateUser&apos;)"]'

这就是相对XPath的美妙之处。虽然类是相同的,但我们可以通过不同的方法轻松地识别它们

试试下面

//a[contains(text(),'Sign&nbsp;In')]
//a[contains(text(),'Reset')]

这不管用。。org.openqa.selenium.NoSuchElementException:无法定位元素:{“方法”:“xpath”,“选择器”:“//a[contains(text(),'Sign-In')]”命令持续时间或超时:15毫秒在单击此Web元素之前,请使用下面的代码。assertTrue(driver.getPageSource()包含(“登录”);并让我知道错误消息?boolean b=driver.getPageSource()包含(“登录”);系统输出打印ln(b);结果:Falseboolean=driver.getPageSource()包含(“登录”);System.out.println(“存在登录文本”+b);这将返回trueSo按钮“登录”不在当前帧中。请切换到“登录”所在的正确框架,然后尝试单击Web元素。
//a[contains(text(),'Sign&nbsp;In')]
//a[contains(text(),'Reset')]