2016-04-16 6 views
1

Ich habe dieses Projekt, das ich arbeite an und der Teil, der mich verrückt macht, ist, wo ich Daten zu ziehen und sie in ein Textfeld (Simple Right?)Wie mache ich die FindElements.By machen Code Flow Selen C#

Lassen Sie mich erklären und die Show Sie den Code

Was sie tut, ist, seine auf eine Website navigieren und es zieht dann Daten aus dem „tbody tr“ (ich weiß nicht, was es heisst, ich glaube, seine genannt ein Element)

und dann fügt es einfach in das Textfeld ein.

Sehen Sie, was ich nicht verstehe, ist, ist dies.

IList<IWebElement> movies = getTopFive.FindElements(By.CssSelector("tbody tr")); 

Um genauer zu sein.

FindElements(By.CssSelector("tbody tr")); 

Um noch spezifische

FindElements(By.CssSelector()); 

Wie kann ich wissen, was der CSSSelector greifen kann und nicht greifen kann, im ziemlich sicher, dass es ein Bild drucken kann nicht, das ist nicht seine Funktion. Ich muss verstehen, was seine Funktion ist, und was es in der Lage ist, habe ich keine Dokumente online diese finden, fand ich es für Java & Python aber nicht für C#

private void label11_Click(object sender, EventArgs e) 
{ 
    var getTopFive = new FirefoxDriver(); 
    getTopFive.Navigate().GoToUrl("https://www.tradingview.com/"); 

    IList<IWebElement> movies = getTopFive.FindElements(By.CssSelector("tbody tr")); 



    for (int i = 0; i < 1; ++i) 
    { 
     activeTextBox.Text = movies[i].Text; 

    } 

} 

Antwort

0

Da die Methodennamen -wie gut Wie der Rückgabetyp andeutet, ist FindElements() in der Lage, HTML-Elemente zurückzugeben. Welches Element die Methode zurückgeben würde, wird durch das Selektorargument, das sie empfängt, zurückgegeben. In Ihrem speziellen Beispiel ist der Selektorausdruck ein CSS-Selektor (By.CssSelector()), der entspricht alle tr Elemente, die innerhalb tbody Element befindet.

Zum Vergleich: Mozilla Develope Network: Getting started with CSS > Selectors

+0

Sind Attribute und Elemente die gleiche Sache? –

+0

@VinnyGarcia Nein, sie sind anders. Betrachten wir zum Beispiel: '

', hier ist 'Klasse' Attribut und' div' ist Element. Vollständigere Referenz von MDN: [HTML-Attribute] (https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes) * [HTML-Elemente] (https://developer.mozilla.org/en -US/docs/Web/HTML/Element) – har07

+0

Oh okay! Und was würde "=" als "" gelten? –