Selenium-Python, wie man text(html-Quellcode) aus <div>
Ich versuche, text $27.5
innerhalb tag <div>
ich sich die element-id und das element wird als "Preis".
Snippet von html ist wie folgt:
<div id="PPP,BOSSST,NYCPAS,2015-04-26T01:00:00-04:00,2015-04-26T05:20:00-04:00,_price" class="price inlineBlock strong mediumText">$27.50</div>
Hier ist, was ich versucht habe
price.text
price.get_attribute('value')
Beide der oben nicht funktioniert.
Update:
Vielen Dank für alle, die zu helfen versucht.
Ich kombinierte Sie Ihre Antworten zusammen und bekam die Lösung:)
price = driver.find_element_by_xpath("//div[@class='price inlineBlock strong mediumText']")
price_content = price.get_attribute('innerHTML')
print price_content.strip()
- Preis.sollte der text sein der Weg zu gehen. wohl die Auswahl für die Preise ist falsch..Kann man den code, mit dem man den Preis für ein Objekt? Und geben Sie den Fehler
- Danke für die prompte Antwort. Ja, ich denke, der Preis.text funktionieren sollte. Hier ist mein code, um das element Preis = fltright.find_element(Durch.CSS_SELECTOR, "*[id$='_price']"). Es ist kein Fehler, das ist, warum ich habe sogar noch mehr verwirrt. Ich habe versucht zu drucken-Preis.text, aber es passiert nichts.
- Ihre id in der html-Schnippsel "_priceMobile" und in deinem code ist es "_price". Ist das richtig?
- Warum ist es nicht möglich zu interagieren mit versteckten Elementen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kannst du nicht mit einem regulären Ausdruck oder eine Herrliche Suppe zu finden, dass der Inhalt des Elements in HTML:
re
und Sie haben eineprice
element?Sie element versteckt ist, zuletzt arbeitete ich mit
Selenium
Sie waren nicht in der Lage, text der versteckte Elemente. Das heißt, Sie können immer ausführen, javascript, ich nicht normalerweise schreiben Sie in python, aber es sollte etwas sein wie:getElementById
ist eine sehr gute Idee in diesem Falldriver.get_element_by_xpath("//div[@class='price inlineBlock strong mediumText']").text
?Ändern Sie den css-Selektor zu
Komplette code
Ich habe versucht, Ihre Lösung bearbeitet, aber Sie bekommen nur 1
div
mitclass
. So, ich habe versucht, diese unter drucken einer Liste derdiv
mit der gleichenclass
.Ändern
element
zuelements
wird eine Liste ausgeben:Verwenden
for ... in range ()
zum drucken einer Liste:browser.find_element_by_xpath("//form[@id='workQueueTaskListForm']/div[1]/p").text