2024-09-26 18:14:48 发布
网友
我想用Python+Selenium拍摄Chrome浏览器的屏幕截图,包括URL栏,但我找不到任何正确的解决方案
我的代码:
driver = webdriver.Chrome() driver.maximize_window() driver.get('https://www.google.com/') driver.save_screenshot(r'LoadURL.png')
预期产出:
实际产量:
如您所见,屏幕截图不包括URL栏。我需要在这里添加什么来修复此问题
你需要根来做这个。您需要为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浏览器。电影拍摄快乐
你需要根来做这个。您需要为screen安装Xvfb,并且需要使用“Xvfb:1-screen 1 1600x1200x16&;”命令启用screen,其中:1“将是屏幕的ID,该屏幕将在下面的行中输入脚本:“os.environ['DISPLAY']=':1”
输出将是screenshot.png,带有完整的chrome浏览器。电影拍摄快乐
相关问题 更多 >
编程相关推荐