selenium--获取页面信息和截图

  • 获取页面信息
    • name
    • current_url
    • title
    • current_window_handle
    • window_handles
    • page_source
    • 简单用法—— 判断页面
  • 截图
    • 1.get_screenshot_as_png
    • 2.get_screenshot_as_file

获取页面信息

主要方法如下图:
selenium--获取页面信息和截图_第1张图片
介绍一下常用的方法:

name

获取浏览器名字
selenium--获取页面信息和截图_第2张图片

current_url

获得当前的url
selenium--获取页面信息和截图_第3张图片

title

获得这个页面的title,也就是这个:
selenium--获取页面信息和截图_第4张图片
selenium--获取页面信息和截图_第5张图片

current_window_handle

获得当前窗口id
selenium--获取页面信息和截图_第6张图片

window_handles

获得所有窗口的id

page_source

获得这个页面的html源码
selenium--获取页面信息和截图_第7张图片

简单用法—— 判断页面

现在要判断打开的页面是否是百度页面,可以用到上面的几个方法:
1.title

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
title = driver.title

if title == '百度一下,你就知道':
    print("是百度的网站")
else:
    print("不是百度的网站")

selenium--获取页面信息和截图_第8张图片
2.page_source

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
page = driver.page_source
driver.quit()

# 1.如果源代码中包含百度,认为是百度页面(仅举例)
if page.__contains__("百度"):
    print("是百度的网站1")
else:
    print("不是百度的网站1")

# 2.如果软代码中 百度 出现了3次以上,就认为是百度页面:
if page.count("百度") >= 3:
    print("是百度网站2")
else:
    print("不是百度网站2")

selenium--获取页面信息和截图_第9张图片

截图

1.get_screenshot_as_png

获得二进制内容

selenium--获取页面信息和截图_第10张图片
这只是获得内容,并没有保存,要想保存可以用第二种方法或者使用代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

# 获得二进制内容
content = driver.get_screenshot_as_png()
print(content)

# 保存
with open("a.jpg", "wb") as f:
    f.write(content)

selenium--获取页面信息和截图_第11张图片
可以看到,运行后左边目录就有了一个 a.jpgd 文件,里面是页面截图

2.get_screenshot_as_file

获得二进制内容***并保存***


from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

driver.get_screenshot_as_file("b.jpg")

selenium--获取页面信息和截图_第12张图片
可以看到,左边目录下多了一个文件名为 b.jpg 的文件

你可能感兴趣的:(测试,selenium,python,chrome)