【发布时间】:2017-12-15 00:27:30
【问题描述】:
在运行selenium截取网页截图时遇到了一个奇怪的问题,下面是我的部分代码:
url = "http://acme.com/licensemaker/licensemaker.cgi?state=California"
driver = webdriver.PhantomJS()
driver.maximize_window()
elem = driver.get(url)
elem = \
driver.find_element_by_xpath
('/html/body/form/center/div/table/tbody/tr[2]/td/input[2]')
elem.send_keys(comb)
driver.find_element_by_xpath
('/html/body/form/center/div/table/tbody/tr[2]/td/input[3]').click()
driver.save_screenshot('../screenshots/1.png')
print('ok')
img = driver.find_element_by_xpath('/html/body/center[1]/div/a/img')
location = img.location
size = img.size
print(size)
我尝试了 PhantomJS 和 Safari 驱动程序,它们都无法保存屏幕截图,但我可以获得“ok”的输出和“location”的值。 我不明白为什么我不能保存截图。
通过绝对路径保存文件失败,但只有名称有效。我去年使用了与相对路径相同的 Selenium 版本,发生了什么?
save_screenshot() 的结果是True。
操作系统:macOS Sierra 10.12.5 解释器:2.7.12(/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7) 另外,我正在使用 Pyenv,我的 Pyenv 全局是“系统”。
【问题讨论】:
-
According to the docs 你必须使用完整路径:“如果有任何 IOError,则返回 False,否则返回 True。在文件名中使用完整路径。[...] 用法:driver.save_screenshot(' /Screenshots/foo.png')"
-
试试不带路径只带名称,看看截图是否保存在程序目录中
-
@try-catch-finally 绝对路径失败,但只有名称有效。我去年使用了与相对路径相同的 selenium 版本,发生了什么?
-
@Exprator 唯一的名字是好的。谢谢。
-
Per source 我不明白为什么相对路径不起作用。我对其进行了测试,它可以工作(在 Linux 上)。请编辑您的帖子并添加您正在运行测试的平台。
标签: python python-2.7 selenium web-scraping web-testing