Ich versuche, einen Link in einer Tabelle zu finden, die in der Spalte 1 von Daten in Spalte 11Selen C# find Link in Tabelle
Nach viel Jagd positioniert ist um ich habe folgende snippit von Code für meine Bedürfnisse angepasst gefunden
IWebElement table = driver.FindElement(By.XPath("//*[@id='NewBusinessDetailRecords']"));
IList <IWebElement> rows = table.FindElements(By.TagName("tr"));
foreach (IWebElement row in table)
{
rows = table.FindElements(By.TagName("tr"));
IList<IWebElement> cells = row.FindElements(By.TagName("td"));
if (cells[10].Text.Equals("103"))
{
cells[0].Click();
}
}
jedoch die foreach-Anweisung funktioniert nicht in der Tabelle hervorgehoben mit Fehler
foreach-Anweisung kann nicht auf Variablen vom Typ ‚OpenQA.Selenium.IWebElement‘ arbeiten, weil ‚OpenQA.Sele nium.IWebElement GetEnumerator ‚‘ keine öffentliche Definition für enthalten‘
Mehrere Beiträge vorschlagen, ich brauche IEnumerable zu verwenden (auch einige, die dies vorschlagen automatisch sein sollte), aber ich habe es nicht geschafft, diese zu erarbeiten umzusetzen in meinen Code.
Jede Hilfe
EDIT geschätzt:
Beispiel HTML 1 Tabellenzeile
<table id="NewBusinessDetailRecords" cellspacing="0" style="width:100%;" class="listviewgrid">
<thead> ... </thead>
<tbody>
<tr id="0" class="datagriddetail">
<td style="text-align: center">
<a href="" accesskey="1" style="cursor: pointer; cursor: hand;" onclick="CopyNewBusinessDetailRecord(0, 0, 1083406, 14436); return false;" title="Matched to Invoice with ID = 14436; Client with ID = 1083406"><img src="../../images/icons/invoice.png" border="0"></a> </td>
<td> Test1 Case1 </td>
<td> Invoice </td>
<td> GBP </td>
<td style="text-align: right"> 600.00 </td>
<td> 0% </td>
<td style="text-align: right"> 600.00 </td>
<td> </td>
<td> Company Name </td>
<td> UserName</td>
<td> 103 </td>
<td> </td>
<td> </td>
<td> </td>
<td style="text-align: center"> </td>
</tr> <tr id="0" class="datagriddetail">
Das funktioniert perfekt! – Smithy7876