1、获取驱动

1.1 查看版本号

1.2 驱动下载

下载驱动https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/?form=MA13LH

进入页面后选择对应版本下载

1.3 驱动配置

将解压后的浏览器驱动放在python同级目录



2、操作浏览器

2.1 常用操作

from selenium import webdriver

# 第一种:当驱动配置在python同级目录时,可以不传参直接获取driver
driver = webdriver.Edge()

# 第二种:当驱动不配置在python同级目录时,需要传入驱动放置目录
# driver = webdriver.Edge("D:\openApi_project\驱动放置目录")

#打开网址
url = "https://m.fj.189.cn/"
driver.get(url)

#网页刷新
driver.refresh()

# 前进
driver.forward()

# 后退
driver.back()

# 窗口最大化
driver.maximize_window()

# 窗口最小化
driver.minimize_window()

# 关闭标签页
driver.close()

# 关闭浏览器(退出浏览器的进程)
driver.quit()

# 全屏
driver.fullscreen_window()

# 设置浏览器的大小
driver.set_window_size(100, 500)

# 设置浏览器的位置
driver.set_window_position(100, 500)

# 同时设置浏览器的大小和位置
driver.set_window_rect(200, 400, 200, 600)

# 页面加载时间设置
driver.set_page_load_timeout(3)

2.2 截屏操作

#第一种:get_screenshot_as_base64()整个函数,获取当前屏幕页面截图。我们通过代码编写打开百度页面,然后进行进行通过base64进行截图,截图后再次进行转换成图片保存下来
from selenium import webdriver
import base64
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 通过base64进行保存图片
x = driver.get_screenshot_as_base64()
image = base64.b64decode(x)
file = open('1.jpg', "wb")
file.write(image)

# 第二种:save_screenshot(filename)是属于Selenium自带的截图函数,其中filename表示图片名称,道理一样,直接打开百度网页进行保存。
# coding:utf-8
driver.get('https://www.baidu.com/')
# 保存图片到本地
driver.save_screenshot('1.png')

# 第三种:get_screenshot_as_file(filename)获取截图信息,其中filename表示图片名称,这里需要注意的是,图片信息只能保存为png格式的,其他的格式,代码会出现报错。
driver.get('https://www.baidu.com/')
# 截图保存在本地
driver.get_screenshot_as_file('1.png')

# 第四种:get_screenshot_as_png() 通过二进制的方式进行保存图片。
driver.get('https://www.baidu.com/')
# 截图保存在本地
x = driver.get_screenshot_as_png()
# 将二进制保存成图片形式
file = open('1.png', "wb")
file.write(x)

# 截图长图:将浏览器显示的内容全部截图下来
# 需要将浏览器设置成无页面模式,因为只有无页面形式才可以截全图
opt = webdriver.ChromeOptions()
opt.headless = True              # 把Chrome设置成可视化无界面模式
driver = webdriver.Chrome(options=opt)  # 创建Chrome无界面对象
driver.get('http://www.51testing.com/html/news.html')
time.sleep(2)
# js获取页面的宽高
width = driver.execute_script("return document.documentElement.scrollWidth")
height = driver.execute_script("return document.documentElement.scrollHeight")
# 将浏览器的宽高设置成刚刚获取的宽高
driver.set_window_size(width, height)
time.sleep(3)
driver.save_screenshot('22.png')



3、句柄

3.1 无头模式

# 无头模式
from selenium import webdriver
options = webdriver.ChromeOptions()

# 第一种
options.add_argument("-headless")

# 第二种
# options.headless = True
driver = webdriver.Chrome(options=options)

3.2 修改窗口大小

from selenium import webdriver
option = webdriver.ChromeOptions()
# option.add_argument('--headless')

# 修改窗口大小
mobile_emulation = {"deviceMetrics": {"width": 327, "height": 844, "pixelRatio": 1.0}}
option.add_experimental_option("mobileEmulation", mobile_emulation)
# driver = webdriver.Edge(options=option)
driver = webdriver.Chrome(options=option)



4、F12

4.1 定位元素

4.2 ctrl+f 查询语句定位到哪些元素

4.3 模拟弱网测试

4.4 切换仿真设备,常用于移动端测试

4.5 控制台执行js语句

posted on 2024-04-16 10:06  彭灰  阅读(243)  评论(0编辑  收藏  举报