通过使用Windows、Python 3和Selenium/Chromedriver,我试图找到一种方法,将元素的数据(文本和图像)保存到脱机文件中,供以后查看.我try 过的事情:
1. Save page source to .html file
page_source = driver.page_source
with open("page.html", "w", encoding="utf-8") as file:
file.write(page_source)
问题是,它只保存页面的文本,而不是图像,只在保存的页面上呈现空的图像占位符,而不是实际的图像.
2. Take screenshots of the entire page
page_width = driver.execute_script('return document.body.scrollWidth')
page_height = driver.execute_script('return document.body.scrollHeight')
driver.set_window_size(page_width, page_height)
driver.save_screenshot("page.png")
这里的问题是,尽管我定义了整个页面的高度/宽度,但只有页面的可见部分是截图,而不是整个页面的数据,所以需要合并滚动.
3. Use a "select all" type logic taken from 100
这是一种黑客的解决方法,但可能有效,但有点寻找更好的解决方案.
4. Make use of pressing CTRL + S to save the page and assets for offline viewing
这还可以,但它会将一堆内容下载到一个单独的文件夹中,这是呈现整个页面所需的,我认为这是不必要的,因为我只需要页面上一个元素的内容.另外,我会下载几个页面,我也不想每个页面都有单独的文件夹.
所以我想知道是否有更好的方法来保存页面元素的文本和图像,最好是保存为html、docx或pdf文件类型?我已经看到了各种各样的解决方案,但还没有找到一种可以做到这一点的方法,所以寻找一些方向/ bootstrap 我朝着正确的方向前进.谢谢