我有一个网页,我需要首先拍摄屏幕截图,然后使用OCR解析内部的文本。如果我放大(Mac:command +'='),OCR的性能可以大大提高。所以我想知道如何在Python中使用selenium放大/缩小。
有一个类似的post,但他们只有Java和C#的实现,但目标与我的相同。
放入/放出硒只是我的一个想法。提高性能。我知道可能有几种方法可以实现。以下是我的想法,我从未成功实施过它们。如果你能证明它们有效并改变字体大小,我也会接受答案。
可能会更改浏览器的设置,然后另存为Chrome配置文件,因此下次我可以调用配置文件,并且应该在整个过程中保留“ZOOM”设置,而不会触及任何内容。但是,似乎python selenium包不支持加载chrome配置文件,但是,它可以加载firefox配置文件。 Link
也许将屏幕截图作为矢量图像,因此请使用PIL等分别放大字体大小。
...
非常感谢帖子和示例代码,以帮助您入门!
#!/usr/bin/python
from selenium import webdriver
def main():
browser = webdriver.Chrome() # Sorry, I have to use Chrome, [chromedriver][3] is required
browser.set_window_size(1000, 1000)
browser.get("https://stackoverflow.com/users/1953475/b-mr-w")
# Fill in Your Magic Here to Make the Font Size Big!
browser.get_screenshot_as_file('/tmp/screenshot.png')
if __name__ == '__main__':
main()
答案 0 :(得分:4)
您可以通过content
缩放execute_script("$('#content').css('zoom', 5);")
div:
#!/usr/bin/python
from selenium import webdriver
import time
def main():
browser = webdriver.Chrome()
browser.set_window_size(1000, 1000)
browser.get("http://stackoverflow.com/users/1953475/b-mr-w")
browser.execute_script("$('#content').css('zoom', 5);")
time.sleep(5)
browser.get_screenshot_as_file('screenshot.png')
if __name__ == '__main__':
main()
但是,缩放存在一个问题:get_screenshot_as_file
不会显示整个页面 - 它会根据它看到的内容制作图像(使用滚动条)。
为什么在这里需要OCR?如何使用html2text模块获取文本?
希望有所帮助。