selenium截图的方法

2025-09-28 08:50:50

1、首先我线放一个简单的访问百度之后截图的代码,大家可以复制代码之后去运行一下,注意复制到编辑器中的空格问题之类的。

from selenium import webdriver

from time import sleep

driver = webdriver.Chrome()

#driver= webdriver.Firefox()

driver.get("http://www.baidu.com")

driver.find_element_by_id('kw').send_keys('selenium')

driver.find_element_by_id('su').click()

sleep(5)

# 截取当前窗口,并指定截图图片的保存位置

driver.get_screenshot_as_file("D:\\selenium_img.png")

sleep(5)

driver.quit()

selenium截图的方法

2、在上面这个代码运行之后,会自动访问百度,然后搜索selenium,然后截下浏览器的当前状态图片(下图为再电脑目录中的位置和上述代码的截图

selenium截图的方法

selenium截图的方法

3、在使用上述这个代码的时候,我们有时候需要将文件名命名为中文,这个时候,我们可能需要注意一些问题,需要将字符串的文件名前面加上一个u

例如由:

    driver.get_screenshot_as_file("D:\\这是截图selenium_img.png")

改为

    driver.get_screenshot_as_file(u"D:\\这是截图selenium_img.png")

注意:有时候不加也是可以的,但是最好加上

selenium截图的方法

1、在这个测试中,一般是要生成报告的,所以也就必定将生成html,而有时候我们需求就是要将截图放在HTML中,这里我就给大家说一下。

selenium截图的方法

2、这里我们可以将截图的方法封装为一个方法,将文件名作为一个参数

附上代码:(注意空格)

 def save_img(self, img_name):

        #传入一个img_name, 并存储到默认的文件路径下

        self.driver.get_screenshot_as_file('{}/{}.png'.format(os.path.abspath(self.img_path), img_name))

       

selenium截图的方法

3、然后再在需要截图的地方调用该方法,然后在测试用例上使用@BeautifulReport.add_test_img(“图片名”)将图片加入到测试报告中

由于截的图是公司的东西,所以不在这展示在报告中的截图了(但保证能成功)

selenium截图的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢