我正在尝试使用Selenium Webdriver和C#自动化Web应用程序。目前我遇到了一个简单的问题。导航到特定页面后,我尝试单击链接文本为"管理组"的链接。但是,当我执行测试时,它无法在网页中找到该元素。
driver.FindElement(By.LinkText("Manage groups"));
我也尝试过使用绝对Xpath:
driver.FindElement(By.XPath("html/body/div[1]/div[1]/div[2]/div[2]/article/li[2]/a"));
在两种情况下,测试导航到页面然后失败并显示错误:
无法找到元素
答案 0 :(得分:1)
问题可能是由于“管理群组”中的一个小错误造成的。文本(例如,可能有一个附加的空格)。
您能否至少提供html的一小部分内容(您可以通过右键点击管理群组'链接并选择'检查元素'选项来获取它)
如果没有 - 试试这些:
By.XPath("//a[@contains(., 'Manage groups')]")
By.XPath("//a[@contains(., 'manage groups')]")
By.XPath("//a[@value='Manage groups')]")
By.partialLinkText("Manage groups")
答案 1 :(得分:0)
它应该适用于:)
IWebElement ClickNext = driver.FindElement(By.XPath("//a[.='Manage groups']"));
// We get the link to click on
ClickNext.Click();
修改:尝试使用li
代替a
IWebElement ClickNext = driver.FindElement(By.XPath("//li[.='Manage groups']"));
// We get the link to click on
ClickNext.Click();