Naj*_*ban 3 c# selenium webdriver hyperlink selenium-webdriver
我刚刚开始使用Selenium.我试图在网页上的链接上调用点击操作,但出于某种原因,selenium.click()事件甚至没有显示在intellisense上!在foreach循环中.下面是我想要做的部分代码.
IWebDriver driver;
driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.com");
List<IWebElement> links = new List<IWebElement>();
links= driver.FindElements(By.TagName("a")).ToList();
//driver.FindElement(By.LinkText("YouTube")).Click();
foreach (var link in links)
{
OpenQA.Selenium....;
..
}
Run Code Online (Sandbox Code Playgroud)
请注意,点击在foreach循环上方的注释行中正常工作.我错过了参考吗?
为什么你期望selenium.Click();出现?从您提供的代码看起来,您使用的是WebDriver,而不是Selenium RC或WebDriverBackSelenium.你可能应该考虑使用类似的东西link.Click();.
这是我使用WebDriver做的,这对我来说很好.
IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.com");
// find directly, note it's not in the <a> but in <span>
// driver.FindElement(By.XPath("//span[text()='YouTube']")).Click();
// your logic with LINQ
IList<IWebElement> links = driver.FindElements(By.TagName("a"));
links.First(element => element.Text == "YouTube").Click();
// your logic with traditional foreach loop
foreach (var link in links) {
if (link.Text == "YouTube") {
link.Click();
break;
}
}
driver.Quit();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22596 次 |
| 最近记录: |