Comment obtenir la source HTML dans une variable utilisant le module Selenium avec Python?
Je voulais faire quelque chose comme ça:
from Selenium import webdriver
browser = webdriver.Firefox()
browser.get(raw_input("Enter URL: "))
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.
Vous devez appeler le page_source
propriété. Voir ci-dessous.
from Selenium import webdriver
browser = webdriver.Firefox()
browser.get(raw_input("Enter URL: "))
html_source = browser.page_source
if "whatever" in html_source:
# do something
else:
# do something else
Avec Selenium2Library, vous pouvez utiliser get_source()
import Selenium2Library
s = Selenium2Library.Selenium2Library()
s.open_browser("localhost:7080", "firefox")
source = s.get_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.
from Selenium import webdriver
driver = webdriver.Firefox()
driver.get("some url")
if "your text here" in driver.page_source:
print('Found it!')
else:
print('Did not find it.')
Si vous souhaitez stocker le source de la page dans une variable, ajoutez la ligne ci-dessous après driver.get:
var_pgsource=driver.page_source
et remplacez la condition if par:
if "your text here" in var_pgsource:
En utilisant le code source de la page, vous obtiendrez le code HTML complet.
Commencez donc par choisir le bloc de code ou la balise dans lequel vous souhaitez récupérer les données ou cliquer sur l'élément.
options = driver.find_elements_by_name_("XXX")
for option in options:
if option.text == "XXXXXX":
print(option.text)
option.click()
Vous pouvez trouver les éléments par nom, XPath, id, lien et chemin CSS.