我正在尝试以下元素:
<span data-dojo-attach-point="lN" role="btn" aria-selected="false" class="xTreeNLbl">Find</span>
以下是Java代码:
private WebElement search_btn = driver.findElement(By.xpath("//div[@data-dojo-attach-point='lN' and contains(text(),'Find')"));
search_btn.click();
找不到元素。请帮忙。谢谢。
答案 0 :(得分:2)
您在xpath //div
上出错了
因为这是<span>
标签,而不是<div>
标签
你应该这样写,
driver.findElement(By.xpath("*//span[text()='Find']")).click();
答案 1 :(得分:2)
您的xpath几乎是正确的,您只需要使用Span来纠正标签名称
driver.findElement(By.xpath("//span[@data-dojo-attach-point='lN' and contains(text(),'Find')"));
答案 2 :(得分:0)
一种选择可能是尝试使用元素的属性之一来查找元素,就像它的类一样(如果它是唯一的)。 从上一个问题(Find element by attribute)中得出,公式为:
element[attribute='attribute-value']
如果有的话,
<a href="mysite.com"></a>
您可以使用以下方法找到它:
By.cssSelector("a[href='mysite.com']");
答案 3 :(得分:0)
请尝试以下代码:
//span[@role='btn' and @class='xTreeNLbl']
如果此代码不能解决您的错误,请向我发送该页面的html dom代码,我们将为您提供帮助。