Wie kann ich die HTML- Quelle in einer Variablen mithilfe des Selenium-Moduls mit Python abrufen?
Ich wollte so etwas machen:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
if "whatever" in html_source:
# Do something
else:
# Do something else
Wie kann ich das machen? Ich weiß nicht, wie ich auf die HTML-Quelle zugreifen soll.
python
selenium
selenium-webdriver
user1008791
quelle
quelle
Antworten:
Sie müssen auf die
page_source
Eigenschaft zugreifen :quelle
find_element_by_xpath("//*").get_attribute("outerHTML")
(Mit Selenium2Library können Sie verwenden
get_source()
quelle
driver.page_source hilft Ihnen beim Abrufen des Seitenquellcodes . Sie können überprüfen, ob der Text in der Seitenquelle vorhanden ist oder nicht.
Wenn Sie die Seitenquelle in einer Variablen speichern möchten, fügen Sie nach driver.get die folgende Zeile hinzu :
und ändern Sie das if Bedingung in:
quelle
Wenn Sie die Seitenquelle verwenden, erhalten Sie den gesamten HTML-Code.
Entscheiden Sie also zuerst den Code- oder Tag-Block, in dem Sie die Daten abrufen oder auf das Element klicken möchten.
Sie finden die Elemente nach Name, XPath, ID, Link und CSS-Pfad.
quelle
Führen Sie einfach diesen JavaScript-Code aus, um Ihre Frage zu beantworten, wie die URL für urllib verwendet werden soll:
quelle
Sie können das
WebDriver
Objekt einfach verwenden und über das@property
Feld auf den Seitenquellcode zugreifenpage_source
...Probieren Sie dieses Code-Snippet aus :-)
quelle
Jetzt können Sie die BeautifulSoup-Funktion anwenden, um Daten zu extrahieren ...
quelle
Ich würde empfehlen, die Quelle mit urllib zu erhalten und, wenn Sie analysieren wollen, etwas wie Schöne Suppe zu verwenden .
quelle