Comment puis-je obtenir la source HTML dans une variable en utilisant le module Selenium avec Python?
Je voulais faire quelque chose comme ça:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
if "whatever" in html_source:
# Do something
else:
# Do something else
Comment puis-je faire ceci? Je ne sais pas comment accéder à la source HTML.
python
selenium
selenium-webdriver
user1008791
la source
la source
Réponses:
Vous devez accéder à la
page_source
propriété:la source
find_element_by_xpath("//*").get_attribute("outerHTML")
(Avec Selenium2Library, vous pouvez utiliser
get_source()
la source
driver.page_source vous aidera à obtenir le code source de la page. Vous pouvez vérifier si le texte est présent dans la source de la page ou non.
Si vous souhaitez stocker la source de la page dans une variable, ajoutez la ligne ci-dessous après driver.get :
et changez la condition if en:
la source
En utilisant la source de la page, vous obtiendrez l'intégralité du code HTML.
Alors commencez par décider du bloc de code ou de la balise dans lequel vous souhaitez récupérer les données ou cliquer sur l'élément.
Vous pouvez trouver les éléments par nom, XPath, id, lien et chemin CSS.
la source
Pour répondre à votre question sur l'obtention de l' URL à utiliser pour urllib, exécutez simplement ce code JavaScript:
la source
Vous pouvez simplement utiliser l'
WebDriver
objet, et accéder au code source de la page via son@property
champpage_source
...Essayez cet extrait de code :-)
la source
Vous pouvez maintenant appliquer la fonction BeautifulSoup pour extraire des données ...
la source
Je vous recommande d'obtenir la source avec urllib et, si vous voulez analyser, utilisez quelque chose comme Beautiful Soup .
la source