使用带有 chromedriver 的 Selenium Python 截取整页的屏幕截图

bluesky1年前 ⋅ 1567 阅读
以下是使用带有 chromedriver 的 Selenium Python 截取整页的屏幕截图的代码:

```python
from selenium import webdriver

# 创建一个 Chrome WebDriver 实例
driver = webdriver.Chrome()

# 加载需要截屏的网页
driver.get('https://www.example.com')

# 获取整个页面的大小
width = driver.execute_script("return Math.max(document.body.scrollWidth, document.body.offsetWidth, document.documentElement.clientWidth, document.documentElement.scrollWidth, document.documentElement.offsetWidth);")
height = driver.execute_script("return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight);")

# 设置浏览器窗口大小
driver.set_window_size(width, height)

# 截取整个页面的屏幕截图
screenshot = driver.get_screenshot_as_png()

# 保存屏幕截图到文件
with open('screenshot.png', 'wb') as f:
    f.write(screenshot)

# 关闭浏览器窗口
driver.quit()
```

该代码中使用 `webdriver.Chrome()` 创建了一个 Chrome WebDriver 实例,然后使用 `driver.get()` 加载需要截屏的网页。然后,使用 JavaScript 来获取整个页面的大小,并使用 `driver.set_window_size()` 设置浏览器窗口大小,以确保整个页面都可见。

最后,使用 `driver.get_screenshot_as_png()` 截取整个页面的屏幕截图,保存到文件 `screenshot.png` 中,并使用 `driver.quit()` 关闭浏览器窗口。

全部评论: 0

    相关推荐