python - 无法通过 Selenium 截取正确的屏幕截图
问题描述
我用python写了一些代码。
它是捕获网页。
但是图像的字体损坏。
这是我的代码:
# -*- coding: utf-8 -*-iore
from selenium import webdriver
import json
import os, sys
import re
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument("disable-gpu")
driver = webdriver.Chrome('[DRIVERPATH]', chrome_options=options)
driver.get("http://google.co.kr")
driver.set_window_size(500, 900)
screenshot = driver.get_screenshot_as_base64()
print screenshot
driver.quit()
这是结果图像:
我该如何解决?
更新
你的建议是最大化屏幕。但字体仍然坏了。
这是我的修复代码。
#driver.set_window_size(500, 900)
driver.maximize_window()
并拍摄图像。
解决方案
我有同样的问题,这就是我解决它的方法。
$ sudo apt-get install fonts-unfonts-core
$ sudo apt-get install fonts-unfonts-extra
如果系统没有字体,图像可能会损坏。我希望它有所帮助。
推荐阅读
- allegro5 - Allegro 5 - Cosmic Protector 演示
- javascript - 使用 Vue.js 和 .NET MVC 的 WebPack 热重载
- sql-server - Lead/Lag 语法帮助 - 如何对列进行排序?
- vaadin - 活页夹是自动处理 Vaadin 8 布局中所需的数据输入字段的唯一方法吗?
- asp.net-web-api - RestSharp ExecuteAsync UI 不等待休息呼叫完成
- docker - 使用 Redis 向不安全的 docker 容器提供数据
- node.js - 不明白为什么我得到一个 TypeError: Cannot read property '_id' of undefined in React
- reactjs - React 中的受保护路由,不传递参数
- java - 来自字符串 java 的货币格式
- c# - 如何在发布时创建静态文件夹?