使用python selenium使用url栏截图

2024-06-16 10:28:40 发布

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

我想用Python+Selenium拍摄Chrome浏览器的屏幕截图,包括URL栏,但我找不到任何正确的解决方案

我的代码:

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.google.com/')
driver.save_screenshot(r'LoadURL.png')

预期产出: google

实际产量: enter image description here

如您所见,屏幕截图不包括URL栏。我需要在这里添加什么来修复此问题


Tags: 代码httpsurlget屏幕wwwdriverselenium
1条回答
网友
1楼 · 发布于 2024-06-16 10:28:40

你需要根来做这个。您需要为screen安装Xvfb,并且需要使用“Xvfb:1-screen 1 1600x1200x16&;”命令启用screen,其中:1“将是屏幕的ID,该屏幕将在下面的行中输入脚本:“os.environ['DISPLAY']=':1”

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
from pyvirtualdisplay import Display
import os

os.environ['DISPLAY'] = ':1'

display = Display(visible=0, size=(800, 600))
display.start()

chrome_options = Options()
chrome_options.add_argument(' no-sandbox') #bypass OS security model
chrome_options.add_argument("disable-infobars");
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome(executable_path='/root/chromedriver', chrome_options=chrome_options)
time.sleep(3)
driver.get("https://ipinfo.io/json")
driver.maximize_window()
os.system('import -window root screenshot.png')
driver.close()

输出将是screenshot.png,带有完整的chrome浏览器。电影拍摄快乐

相关问题 更多 >