Получение HTML кода из переменной типа webdriver. Selenium

235
09 августа 2021, 19:50

У меня есть код:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0")
search_filed = driver.find_element_by_id("searchInput")
search_filed.send_keys("Круг")
search_button = driver.find_element_by_id("searchButton")
search_button.click()

Как получить html код из переменной driver? Перерыл пол-интернета - не нашёл.

Заранее благодарю.

Answer 1
from selenium import webdriver
chromedriver = 'C:\\Program Files (x86)\\chromedrv\\chromedriver.exe'  # путь к драйверу 
opts = webdriver.ChromeOptions()                                       # может быть любым
# opts.add_argument('headless')
browser = webdriver.Chrome(options=opts, executable_path=chromedriver)
browser.implicitly_wait(10)  # секунд
browser.get("https://ru.wikipedia.org/wiki/")
search_filed = browser.find_element_by_id("searchInput")
search_filed.send_keys("Круг")
search_button = browser.find_element_by_id("searchButton")
search_button.click()
html = browser.page_source     # html-код страницы
print(html)
text = browser.find_element_by_id("content").text   # текст статьи "Круг"
print(text)

Предварительно убедитесь в том, что браузер Chrome и chromedriver имеют одну и ту же версию (на данный момент последняя версия - v.79). Об использовании Python + Selenium можно почитать здесь: https://habr.com/ru/post/250921/

READ ALSO
Возвращаемое значение от делегата

Возвращаемое значение от делегата

В проекте C# я использую делегаты для вызова методов из библиотеки C++, загруженную в процессИспользую данный код:

208
json file serialization. Reflection

json file serialization. Reflection

Необходимо Передать в метод string[], а на выходе получить значение объекта

122