2016-06-02 5 views
-2

Ich hatte eine Tabelle von der Webseite in der Datentabelle abrufen, oder einfach sagen, dass ich eine Tabelle haben, in der erste Spalte verschiedene Namen und alle diese Namen enthält sind hyperlink.Now meine Anforderung ist, dass ich jeden Namen eins nach dem anderen in C# oder codiertem ui klicken muss. Wie kann ich das machen?Umleiten zu jedem Link in bestimmten Spalte einer HTML-Tabelle eins nach dem anderen in C#

+0

Was Sie bisher versucht haben? Bitte versuchen Sie zuerst das Problem, geben Sie den Code ein, den Sie ausprobiert haben, und was nicht funktioniert hat. Sobald Sie das getan haben, können wir Ihnen besser helfen. – Alos

Antwort

1

würde es in etwa so aussehen:

[TestMethod] 
public async Task TestAllTheLinks() 
{ 
    BrowserWindow browserWindow = BrowserWindow.Launch("mywebsiteurl"); 

    HtmlTable table = new HtmlTable(browserWindow); 
    table.SearchProperties.Add(HtmlTable.PropertyNames.Id, "tableId"); // or other search properties 

    List<Exception> failureLinks = new List<Exception>(); 
    using (var client = new HttpClient()) 
    { 
     for(int rowIndex = 0, max = table.RowCount; rowIndex < max; rowIndex++) 
     { 
      HtmlCell tableCell = table.GetCell(rowIndex, 0); 
      HtmlHyperlink link = new HtmlHyperlink(tableCell); 

      // are you sure you want to click? 
      // how are you going to test rest of links if you nav away? 
      Mouse.Click(link); 

      // or would you rather just send an http request to that url to see if it is successful 
      string href = link.Href; 

      var result = await client.GetAsync(href); 
      if (!result.IsSuccessStatusCode) 
      { 
       failureLinks.Add(new Exception($"Link failed: {href}")); 
      } 
     } 
    } 

    if(failureLinks.Any()){ 
     throw new AggregateException(failureLinks); 
    } 
} 
Verwandte Themen