测试无法找到元素,并显示错误“没有这样的元素:无法找到元素”

时间:2019-07-19 00:41:12

标签: selenium-webdriver

我试图找到一个元素,但是它给了我

  

“没有这样的元素:无法找到元素”。

我的元素在链接下方:

<a href="/Admin/Company/View?id=225896">View</a>

Xpath=//a[@href='/Admin/Company/View?id=225896']

Xpath=//*[contains(@href,'/Admin/Company/View?id=225896')]

Xpath=//*[contains(@href,'View?id=225896')] 

等等。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用它。

//*[local-name()='a'][@href='/Admin/Company/View?id=225896']

答案 1 :(得分:0)

  1. 请确保该元素不在iframe中,否则在定位之前您必须切换到该元素
  2. 请确保该元素不在Shadow Dom中,否则必须先找到相关的ShadowRoot对象,然后使用ShadowRoot中的相对定位符
  3. 请确保在尝试查找元素时DOM中存在该元素,即执行getPageSource()函数并确保该元素在那里,因为您可能需要这种情况如果元素通过Explicit Wait
  4. 添加到DOM,则选择AJAX call
  5. 最后但并非最不重要的一点,请尝试使用View作为标准,通过link text定位元素

    driver.findElement(By.linkText("View"))