如何使用python-硒拍摄屏幕截图?

时间:2018-11-26 07:28:51

标签: python selenium

这是我编写的用于保存网页屏幕快照的简单python代码。

from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.get("https://www.google.co.in")
driver.implicitly_wait(2)
driver.save_screenshot("D\amanulla\test.png")
driver.quit()

尽管该程序运行无任何错误,但我的计算机上没有保存任何屏幕截图。有人可以帮我吗?

2 个答案:

答案 0 :(得分:3)

您从:中丢失了"D\amanulla\test.png",并且还需要转义\,因此有效的行将是:

"D:\\amanulla\\test.png"

"D:/amanulla/test.png"

答案 1 :(得分:1)

  

我的计算机上没有保存任何屏幕截图

在浏览器的默认下载位置中查找名为Dmanulla est.png的文件...因为这是您指示WebDriver使用以下行的内容:

  

driver.save_screenshot("D\amanulla\test.png")

说明:

字符串"D\amanulla\test.png"将被解释为"Dmanulla est.png"。这是因为反斜杠是Python字符串中的转义序列。您的目录分隔符将解释为\a(钟形)和\t(标签)。

此外,驱动器号和文件路径之间缺少:分隔符,因此它将整个字符串视为文件名。如果没有目录名,则应将其保存到浏览器的默认“下载”目录。

解决方案:

driver.save_screenshot(r"D:\amanulla\test.png")

这使用原始字符串,因此反斜杠不会被解释为转义序列,并且将缺少的:添加为驱动器号分隔符。