启用扩展的Selenium Python全页屏幕截图

2024-10-02 12:35:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在非无头模式下打开Chrome,并启用一个扩展,以拍摄一整页的屏幕截图。当我删除headless模式时,扩展可以工作,但全屏显示的不是整页。如果没有无头模式,则无法加载扩展

我遇到了这个答案,其中提到没有无头选项是不可能的。但是,不能在headless选项中启用扩展

Take screenshot of full page with Selenium Python with chromedriver

这是我目前的代码。有什么办法可以这样做吗

print("Taking screenshot for {}".format(link))
options = webdriver.ChromeOptions()
options.add_extension('./chromedrivers/AdblockPlus.zip')
options.add_argument("--disable-notifications")
#options.headless = True

driver = webdriver.Chrome("{}/chromedrivers/{}".format("macDriver"),options=options)
driver.implicitly_wait(1)

driver.get(link)
S = lambda X: driver.execute_script('return document.body.parentNode.scroll'+X)
driver.set_window_size(S('Width'), S('Height'))                                                                                                             
driver.find_element_by_tag_name('body').screenshot(f'./screenshots/{name}.png')

Tags: nameaddformat选项driverwith模式link

热门问题