Como posso obter o código-fonte HTML em uma variável usando o módulo Selenium com Python?
Eu queria fazer algo assim:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
if "whatever" in html_source:
# Do something
else:
# Do something else
Como posso fazer isso? Não sei como acessar o código-fonte HTML.
python
selenium
selenium-webdriver
user1008791
fonte
fonte
Respostas:
Você precisa acessar a
page_source
propriedade:fonte
find_element_by_xpath("//*").get_attribute("outerHTML")
(Com Selenium2Library você pode usar
get_source()
fonte
driver.page_source o ajudará a obter o código-fonte da página. Você pode verificar se o texto está presente na fonte da página ou não.
Se você deseja armazenar o código-fonte da página em uma variável, adicione a linha abaixo após driver.get :
e altere a condição if para:
fonte
Ao usar o código-fonte da página, você obterá todo o código HTML.
Portanto, primeiro decida o bloco de código ou tag em que você deseja recuperar os dados ou clicar no elemento.
Você pode encontrar os elementos por nome, XPath, id, link e caminho CSS.
fonte
Para responder à sua pergunta sobre como obter o URL a ser usado para urllib, basta executar este código JavaScript:
fonte
Você pode simplesmente usar o
WebDriver
objeto e acessar o código-fonte da página por meio de seu@property
campopage_source
...Experimente este snippet de código :-)
fonte
Agora você pode aplicar a função BeautifulSoup para extrair dados ...
fonte
Eu recomendo obter a fonte com urllib e, se você for analisar, use algo como Beautiful Soup .
fonte