用Python中的Selenium进行屏幕截图
我们可以用Python脚本在自动网络浏览器上执行任务,selenium
。我们可以用不同的方法将浏览器的屏幕截图。
本教程将演示如何在Python中使用selenium
来捕获自动浏览器的屏幕截图。
使用save_screenshot()
函数在Python中使用selenium
来捕获屏幕截图
selenium
包提供了save_screenshot()
函数,可以对自动浏览器中打开的网页进行截图。
我们可以在函数中指定屏幕截图的文件名(PNG格式)和路径。这个函数是和webdriver
对象一起使用的。
请看下面的代码。
from selenium import webdriver
driver = webdriver.Chrome(r'C:/driverpath/chromedriver.exe')
driver.get("https://www.delftstack.com/")
driver.save_screenshot("filename.png")
在上面的例子中,我们创建了一个webdriver
对象,并用get()
函数创建了一个与所需URL的连接。然后,使用save_screenshot()
函数来捕获屏幕截图并保存它。
在Python中使用get_screenshot_as_file()
函数来捕获屏幕截图,使用selenium
get_screenshot_as_file()
函数也用webdriver
对象的屏幕截图创建一个文件。我们可以通过在函数中提到它,将文件保存在它所需要的路径上。
如果文件被成功创建,它将返回True
。如果有任何异常,该函数将返回False
。
比如说:
from selenium import webdriver
driver = webdriver.Chrome(r'C:/driverpath/chromedriver.exe')
driver.get("https://www.delftstack.com/")
driver.get_screenshot_as_file("filename1.png")
使用Screenshot-Selenium
包在Python中使用selenium
来捕获屏幕截图
Selenium-Screenshot
包可以用来捕获webdriver
的HTML元素的屏幕截图。
这个包与Python 3兼容,可以使用pip install Selenium-Screenshot
来安装。我们也可以用它来单独捕捉HTML元素的剪影。
我们可以使用full_screenshot()
函数来捕获整个浏览器窗口。我们需要先创建一个Screenshot
类的对象来使用它。
webdriver
对象和文件名是在full_screenshot()
函数中指定的。
见下面的代码。
from selenium import webdriver
from Screenshot import Screenshot_Clipping
s = Screenshot_Clipping.Screenshot()
driver = webdriver.Chrome(r'C:/driverpath/chromedriver.exe')
driver.get("https://www.delftstack.com/")
s.full_Screenshot(driver, save_path=r'.' , image_name='name.png')
我们在上面的例子中使用full_screenshot()
函数来捕获屏幕截图。我们用image_name
参数和save_path
参数提供文件的名称和路径。
总结
我们讨论了如何在Python中使用selenium
进行屏幕截图。我们可以使用save_screenshot()
和get_screenshot_as_file()
函数将屏幕截图保存为PNG文件。
另外,我们也可以安装一个叫做Selenium-Screenshot
的子包,用它来捕捉浏览器上的网页。