我使用NUnit Framework和C#自动化应用程序。 使用下面的代码,我能够找到&单击单行显示的元素整个链接文本(例如:abcd)。但如果它显示在2行(例如:abcd \ nxyz)
,我无法点击该链接//搜索&点击名称链接
IWebElement table1 = driver.FindElement(By.XPath("//*[@id='tblSearchAudienceResults']/tbody"));
IList<IWebElement> rowCollection = table1.FindElements(By.TagName("tr"));
foreach (IWebElement row in rowCollection)
{
IList<IWebElement> colItem = row.FindElements(By.TagName("td"));
Console.WriteLine("TA Name: " +colItem[1].Text);
if (colItem[1].Text.Equals(audienceName))
{
Console.WriteLine("Inside If");
colItem[1].Click();
Console.WriteLine("Clicked on Link");
break;
}
}
答案 0 :(得分:-1)
尝试点击锚元素而不是td
- 例如 -
<table>
<tr>
<td><a href="reftosomelink">Sample long text which is multiline</a></td>
<td>Some other label</td>
<td>50</td>
</tr>
</table>
在这种情况下尝试 -
row.FindElement(By.xpath("./td[1]/a")).click();
如果这也不起作用,请发布您的HTML和错误。