【发布时间】:2016-08-01 04:32:44
【问题描述】:
我是自动化新手,正在尝试自动化网站。我能够使用 webdriver 登录到该站点,但是我无法在下一页上找到任何元素。
我尝试通过 id、name、css 选择器、linktext、xpath 等来定位它。我什至明确地等待,但这也无济于事。
每次尝试定位元素时都会出现以下错误:
原因:org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"link text","selector":"Owner to Channel"}
这是上述按钮的页面源详细信息:
按钮的页面源
定位按钮的代码:
WebElement el = driver.findElement(By.linkText("Owner to Channel "));
el.click();
有什么建议吗?可能是我错过了什么。
【问题讨论】:
-
您可以尝试使用 partialLinkText 来定位元素。
driver.findElement(By.partialLinkText("Owner")).click();。此外,有时需要滚动页面直到链接可见。希望对您有所帮助。 -
我试过了,还是不行!
-
您是否尝试过使用相同的至少第三个父节点的 xpath?如果也试过了,能否请您分享页面的完整或部分 HTML 代码?
-
@VaibhavSingh 您的 HTML 页面是否有多个框架或 iframe?如果可以,请尝试切换您的链接可用的框架。由于同步问题,您也可能遇到此问题,如果 selenium 甚至在页面加载的所有元素之前尝试查找元素,则有可能获得您指定的错误。请尝试使用正确的等待语句。
-
你用css试过了吗:a[onclick*=navigate][onclick*=O2C]
标签: java css selenium xpath webdriver