我试图在我正在测试的网站的标题内编写链接页面类。我在下面有以下链接结构
<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>
我想要做的是将这些存储到List中,然后当用户选择其中一个链接时,它将转到他们应该访问的页面。
我已经开始使用以下代码
了 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")));
我正在考虑使用for循环来做这件事,这是最好的方法。我试图避免为每个链接编写类似下面的方法
public void SelectCreateNewReferralLink()
{
var selectAboutUsLink = ( new WebDriverWait(WebDriver, new TimeSpan(50))).Until
(ExpectedConditions.ElementExists(By.CssSelector("#main > a:nth-of-type(1)")));
selectCreateNewReferralLink.Click();
}
我使用C#,WebDriver尝试编写此
任何帮助都会很棒
由于
克里斯
答案 0 :(得分:1)
你可以有一个知道列表根的方法(ul元素)并将标题(字符串或枚举)作为参数。
像(在伪java代码中):
selectLink(String title) {
driver.findElement(By.cssSelector("ul li a[title='" + title + "']").click();
}