Найти - Пользователи
Полная версия: помогите получить скриншот с помощью webdriver
Начало » Python для новичков » помогите получить скриншот с помощью webdriver
1 2
laughingman
Здраствуйте. Пытаюсь получить скриншот сайта с омощью webdriver но получается пустая картинка
использую
centos 7
python 3.6
Google Chrome 83.0.4103.61
вот пример кода

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--sec-fetch-site=cross-site')
chrome_options.add_argument('--sec-fetch-mode=navigate')
chrome_options.add_argument('-- sec-fetch-dest=iframe')
#chrome_options.add_argument('--disable-dev-shm-usage')
#chrome_options.add_argument('--hide-scrollbars')
chrome_options.add_argument('--ignore-ssl-errors=true')
chrome_options.add_argument('--ssl-protocol=any')
chrome_options.add_argument('--upgrade-insecure-requests=1')
chrome_options.add_argument('--user-agent="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"')
chrome_options.add_argument("-incognito");
chrome_options.add_argument("--disable-popup-blocking");
self.driver = webdriver.Chrome('/var/python_script/chromedriver3', chrome_options=chrome_options)
self.driver.get('https://models-market.ru/')
self.driver.set_window_size(1380, 1100)
self.driver.get_screenshot_as_file(p)
content = self.driver.page_source
# content - тут пустая страница html/head/body
image = Image.open(p)
size = 840, 980
image.thumbnail(size)
image.save(p, quality=75)
Rodegast
Ты запускаешь броузер в headless режиме, а это значит что отрисовка страницы не происходит.
laughingman
а как нужно запускуать? И почему тогда на других сайтах скриншоты нормально делаются?
ZerG
почитайте описание используемой вами лимбы. Там все ответы
laughingman
Описание чего? Я просто мало что знаю как о webdriwer так в целом о python
FishHook
Rodegast
Ты запускаешь броузер в headless режиме, а это значит что отрисовка страницы не происходит.
laughingman
а как нужно запускуать?
Очевидно, что не в headless. Вы же способны, надеюсь, догадаться, где в вашем собственном коде вы выставили флаг “headless”.
Vladimirv
Скриншоты прекрасно делаются и в headless режиме. Терпения чуть больше нужно, это как-то связано с сайтом модель-маркет. Первый раз тоже не дождался, решил, что скрипт завис.

laughingman
FishHook
ну да в самом начале, а где нужно?
laughingman
Vladimirv
Скриншоты прекрасно делаются и в headless режиме. Терпения чуть больше нужно, это как-то связано с сайтом модель-маркет. Первый раз тоже не дождался, решил, что скрипт завис.
А какие у вас настройки, что скрин получился?
laughingman
при всем при этом, если я обращаюсь к сайту например через скрапи, то сайт мгновенно отдает весь html страницы, а вот с вебдрайвером затык
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB