找不到元素(Selenium,Java)

时间:2018-10-30 05:06:53

标签: java selenium selenium-webdriver

我正在尝试以下元素:

<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();

找不到元素。请帮忙。谢谢。

4 个答案:

答案 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代码,我们将为您提供帮助。