2017-11-06 2 views
-3

Dies ist der HTML-Text, der die Ausgabe gibt - £ 0,03.Ich versuche webscrape zu pycharm mit Selen

Ich möchte diesen Wert von Xpath finden und die Ausgabe auf Pycharm-Konsole drucken.

<div class="pnl runner-info-elem below-runner-info" ng-if="ctrl.vm.events.shouldShowPnl(runner)" ng-class="{'below-runner-info': ctrl.vm.data.displayRaceCardInfo}"> 
<!----> 
<mv-runner-pnl ng-repeat="(type, pnl) in ctrl.vm.data.pnl[runner.key] track by type" type="actual" values="pnl.values" separator="comma" formatter="::pnl.formatter"> 

<!-- PnL --> 
<div class="runner-elem-pnl actual-pnl"> 
    <span class="prefix"></span> 
    <span class="pnl-value-container"> 
     <span class="pnl-value negative">-£0.03</span> 
    </span> 
    <span class="pnl-value-container hidden"><span> 

Ich habe folgendes versucht:

driver.find_element_by_xpath('//*[@id="main-wrapper"]/div/div[3]/div/div[2]/div/div[1]/div[3]/div/div[1]/div/bf-main-market/bf-main-marketview/div/div[2]/bf-marketview-runners-list[2]/div/div/div/table/tbody/tr[1]/td[1]/div/div[3]').get_attribute(pnl.value) 

print(pnl.value) 

Mein Ergebnis ist:

:NameError: name 'pnl' is not defined

Ist das überhaupt möglich? Wenn nicht durch XPath, dann auf andere Weise? Wie gesagt, ich bin völlig neu und versuche, von YouTube-Tutorials zu lernen.

Antwort

0

Mit dem mitgelieferten HTML, könnten Sie verwenden:

el= driver.find_element_by_xpath("//div/mv-runner-pnl/div[@class='runner-elem-pnl actual-pnl']/span[@class='pnl-value-container']/span[@class='pnl-value negative']") 
print(el.text) 
+0

Thank you! Das war genau das, was ich brauchte. Es tut mir leid, wenn die Frage nicht gut formuliert war. – Simon

+0

@Simon Glücklich zu helfen. Wenn diese Antwort oder eine andere Lösung Ihr Problem gelöst hat, markieren Sie es als akzeptiert: stackoverflow.com/help/someone-answers –

+0

Entschuldigung, es hat so lange gedauert, ich wusste nicht, wie ich Ihre Antwort annehmen sollte. Aber nach einer Google-Suche habe ich es bekommen Dort am Ende. Kann ich jetzt die Ausgabe in meinem Skript verwenden? anstatt es auf die Konsole zu drucken, würde ich es gerne in einer if-Anweisung verwenden. Zum Beispiel wenn el> 100 dann etwas anderes tun? – Simon

Verwandte Themen