单击以下HTML代码的元素不起作用。
a class="add" href="/travelPlan_revamp/addTravel.htm?travel_type=D">Add</a>
我正在使用下一个 Xpath: html/body/div[1]/div[2]/div/a
但是会显示No Such Element Found
异常。
答案 0 :(得分:1)
首先确保web元素不在iframe中。 如果是,那么您需要先切换到iframe,然后尝试单击元素。
另外,如果您捕获了错误的xpath,请尝试使用xpath以下: -
// a [@ class ='add'和。='Add']
答案 1 :(得分:1)
绝对xpath始终以正斜杠&#39; /&#39;开头。我认为你使用了绝对的xpath,要么你错过了&#39; /&#39;或者你在这里引用错了。请验证它。通常绝对xpath看起来像/ html / body / form / div [3] / div [2] / div [1] / div [2] / input
答案 2 :(得分:1)
试试这个xpath:
//a[contains(text(),'Add')];
答案 3 :(得分:1)
对不起伙计,问题在于iframe。现在我通过切换到iframe然后单击事件找到了解决方案。
driver.switchTo()帧( “rightMenu”); driver.findElement(By.xpath( “HTML /体/格[1] / DIV [2] / DIV / A”))点击();
答案 4 :(得分:0)
如果没有HTML,很难判断你的XPATH表达是否正确。 您的XPATH表达式告诉:
所以检查一下&#34; a&#34;检查Xpath表达式的元素。
答案 5 :(得分:0)
//a[@class='add' and text()='Add']
试一下。
通过哪种方法寻找元素?
@FindBy (how = How.XPATH)
或
driver.findElement(By.xpath());
有时@FindBy表示法并不适合使用Xpath。
答案 6 :(得分:0)
尝试使用以下xpath
//一个[含有(文本(), '添加')]