Ich habe über LINQ gelernt und versuche es zu finden, bestimmte Webelemente auf der Seite mit Selen zu finden.Wie finden Sie ein verschachteltes Selen-WebElement in C# mit LINQ?
Ich habe eine eckige Website, die eine Tabelle aus divs anzeigt. Alle Zeilen in einer Spalte, einschließlich der Kopfzeile, haben dieselben Attribute (z. B. CSS-Selektor/Klassenname usw.).
Ich möchte alle Eingabefelder innerhalb einer Spalte finden, die sichtbar sind, und kam mit dieser ...
var applyBoxes2 = from box in driver.FindElements(By.CssSelector("div.col-apply.col-md-1"))
where box.Text != "Apply?"
select box;
var clickableBox = from box in applyBoxes2
where box.FindElement(By.TagName("input")).Displayed == true
select box.FindElement(By.TagName("input"));
Die erste Abfrage als erste Zeile erforderlich ist, ist der Kopf, und doesn‘ t enthält ein Eingabefeld. Wenn ich diese Abfrage nicht habe, wird meine zweite Abfrage umfallen, wenn ich versuche, das Suchelement = "input" auszuführen.
Weiß jemand, ob ich diese 2 Aussagen kombinieren kann? Also zuerst würde ich den Header herausfiltern, dann würde ich jedes Eingabefeld innerhalb jedes div finden.
Irgendwelche Gedanken darüber, wie sonst dies verbessert werden könnte, wäre zu begrüßen.
Vielen Dank,
Können Sie nicht die erste erweitern, zum Beispiel. 'where box.Text! =" Übernehmen? "'> '&&' && Kurzschlüsse, wenn der erste Fehler auftritt, so dass er nicht versucht wird, ihn zu finden, wenn der Text Übernehmen ist? – EpicKip