Bagaimana saya bisa mendapatkan sumber HTML dalam variabel menggunakan modul Selenium dengan Python?
Saya ingin melakukan sesuatu seperti ini:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com")
if "whatever" in html_source:
# Do something
else:
# Do something else
Bagaimana saya bisa melakukan ini? Saya tidak tahu cara mengakses sumber HTML.
python
selenium
selenium-webdriver
pengguna1008791
sumber
sumber
Jawaban:
Anda perlu mengakses
page_source
properti:sumber
find_element_by_xpath("//*").get_attribute("outerHTML")
(Dengan Selenium2Library Anda dapat menggunakan
get_source()
sumber
driver.page_source akan membantu Anda mendapatkan kode sumber halaman. Anda dapat memeriksa apakah teks ada di sumber halaman atau tidak.
Jika Anda ingin menyimpan sumber halaman dalam variabel, tambahkan baris di bawah ini setelah driver.get :
dan ubah kondisi if menjadi:
sumber
Dengan menggunakan sumber halaman Anda akan mendapatkan seluruh kode HTML.
Jadi pertama-tama tentukan blok kode atau tag yang Anda perlukan untuk mengambil data atau mengklik elemen ..
Anda dapat menemukan elemen dengan nama, XPath, id, link dan jalur CSS.
sumber
Untuk menjawab pertanyaan Anda tentang mendapatkan URL yang akan digunakan untuk urllib, cukup jalankan kode JavaScript ini:
sumber
Anda cukup menggunakan
WebDriver
objek, dan akses ke kode sumber halaman melalui@property
bidangnyapage_source
...Coba cuplikan kode ini :-)
sumber
Sekarang Anda dapat menerapkan fungsi BeautifulSoup untuk mengekstrak data ...
sumber
Saya akan merekomendasikan untuk mendapatkan sumber dengan urllib dan, jika Anda akan mengurai, gunakan sesuatu seperti Beautiful Soup .
sumber