C# 循环浏览列表以选择Selenium中的元素
我正在尝试为我正在测试的网站标题中的链接编写一个页面类。我有下面的链接结构C# 循环浏览列表以选择Selenium中的元素,c#,selenium,selenium-webdriver,webdriver,C#,Selenium,Selenium Webdriver,Webdriver,我正在尝试为我正在测试的网站标题中的链接编写一个页面类。我有下面的链接结构 <ul> <li><a href="/" title="Home">Home</a></li> <li><a href="/AboutUs" title="About Us">About Us</a> </li> <li><a href="/Account" title=
<ul>
<li><a href="/" title="Home">Home</a></li>
<li><a href="/AboutUs" title="About Us">About Us</a> </li>
<li><a href="/Account" title="Account">Account</a></li>
<li><a href="/Account/Orders" title="Orders">Orders</a></li>
<li><a href="/AdministrationPortal" title="Administration Portal">Administration Portal</a></li>
</ul>
我使用的是C#,WebDriver正试图编写此代码
任何帮助都会很好
谢谢
Chris您可以有一个方法,该方法知道列表的根(ul元素),并将标题(字符串或枚举)作为参数 类似(在伪java代码中):
与存储到java列表相比,我更喜欢这个解决方案。
List<IWebElement> headerElements = new List<IWebElement>();
headerElements.Add(WebDriver.FindElement(By.LinkText("Home")));
headerElements.Add(WebDriver.FindElement(By.LinkText("About Us")));
headerElements.Add(WebDriver.FindElement(By.LinkText("Account")));
headerElements.Add(WebDriver.FindElement(By.LinkText("Orders")));
headerElements.Add(WebDriver.FindElement(By.LinkText("Administration Portal")));
headerElements.Add(WebDriver.FindElement(By.LinkText("Log in / Register")));
headerElements.Add(WebDriver.FindElement(By.LinkText("Log off")));
public void SelectCreateNewReferralLink()
{
var selectAboutUsLink = ( new WebDriverWait(WebDriver, new TimeSpan(50))).Until
(ExpectedConditions.ElementExists(By.CssSelector("#main > a:nth-of-type(1)")));
selectCreateNewReferralLink.Click();
}
selectLink(String title) {
driver.findElement(By.cssSelector("ul li a[title='" + title + "']").click();
}