ich habe folgende HTML in einer SeiteWebDriver getText keinen sinnvollen Wert zurückkehr
<div class="mst_updt" style=""> 27/06/2017 12:02:31 </div>
Ich versuche, den dynamischen Datumswert zwischen den divs zu extrahieren:
WebElement webElement =driver.findElement(By.cssSelector(".mst_updt"));
String text = webElement.getText();
System.out.println("i am text : " + text);
System.out.println("Most read 1 : " + webElement.getText());
String a = driver.findElement(By.cssSelector(".mst_updt")).getText();
System.out.println("Most read 2 : " + a);
System.out.println(webElement);
Boolean isTheTextPresent = driver.getPageSource().contains("mst_updt");
System.out.println("And did we find the string ? : " + isTheTextPresent);
Sie sehen, ich bin versuche verschiedene Methoden, hier sind die Ergebnisse, die ich bekomme, warum kann ich nicht das Datum und die Zeit extrahieren ??
ich bin Text:
Most 1 lesen:
Die meisten 2 lesen:
[[FirefoxDriver: firefox auf JEDEM (e4a9c548-6146-4685-9944-6b5d51308bff)] -> css selector: .mst_updt]
Und haben wir die Saite gefunden? : Die Antwort auf Ihre Frage wahr
Voll-Code, die .. ist
<div class="content">
<div role="main" class="content-inner content-full-width">
<div class="main-content">
<section class="component-list">
<div class="section group">
<div class="col-lrg span-lrg_1_of_3">
<div class="component-weekly-wrap">
<header class="header-weekly-wrap">
<h4 itemprop="name">
<a class="section-title-link" href="example.com/static/survey-panel">Computer Survey Panel</a>
</h4>
</header>
<article>
<a href="example.com/static/survey-panel"><img alt="" src="/w-images/fa8edbd1-2c78-4415-9abf-334f7087ff8b/2/CTGRS17OA344213-370x229.jpg" /></a>
<div class="col-inner weekly-wrap-details">
<p><p>Join our <a href="example.com/static/survey-panel" target="_blank"><strong>Research Survey Panel</strong></a> and earn an Amazon voucher for each survey you complete!</p>
<p><strong><a href="example.com/static/survey-panel">Find out more</a></strong></p></p>
<!--<a class="btn download" href="#">More information</a> -->
</div>
</article>
</div>
</div>
<!--most read homepage updated START-->
<div class= "mst_updt" style="display:none;">
28/06/2017 12:38:15
</div>
<!--most read homepage updated END-->
<div class="col-lrg component-list-most-read span-lrg_2_of_3">
<div class="col-inner component-most-read">
<header class="header-most-read">
<h4 itemprop="name">Most read</h4>
</header>
<div class="ol">
<ol>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
<li>
</li>
</ol>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
findElement „Finden Sie die ** erstes ** WebElement mit der angegebenen Methode. " wie die Dokumentation sagt. Also: Gibt es eine Chance, dass es mehrere divs mit dieser Klasse gibt und die erste leer ist? Sie könnten es testen, indem Sie findElements (Plural) ausführen und die Größe des Ergebnisses überprüfen, das Sie erhalten. –
Was gibt es zurück, wenn Sie 'element.getAttribute (" innerHTML ") verwenden;'? –
Danke Rafal, das hat es gelöst. sowohl by.css.selector und by.xpath Vielen Dank Verwendung \t String a = driver.findElement (By.cssSelector() "mst_updt ") getAttribute (" innerHTML-."); \t Zeichenfolge b = driver.findElement (By.xpath ("// html/body/div [3]/div [2]/div [7]/div/div/Abschnitt/div/div [2]")) .getAttribute ("innerHTML"); \t System.out.println ("Meist gelesen 2:" + a); \t System.out.println ("Meist gelesen 3:" + b); –