zl程序教程

您现在的位置是:首页 >  前端

当前栏目

selenium操作浏览器

浏览器 操作 selenium
2023-09-14 09:15:55 时间

selenium基本操作

在这里插入图片描述


操作浏览器的常用方法

"""
selenium操作浏览器的方法
"""
# 最大化浏览器
driver.maximize_window()
# 设置浏览器大小
driver.set_window_size(height=800, width=600)  
# 设置浏览器位置
driver.set_window_position(x,y)
# 后退
driver.back()
# 前进
driver.forward()
# 刷新
driver.refresh()
# 关闭当前窗口
driver.close()
# 退出浏览器
driver.quit()
# 获取页面title
driver.title
# 获取当前url
driver.current_url

Selenium原理

参考地址:http://www.python3.vip/adv/bonus/selenium/

Selenium 是一个 Web 应用的自动化框架。

Selenium 的自动化原理是这样的
在这里插入图片描述


python安装selenium模块

打开 命令行程序,运行如下命令

# pip安装selenium模块
pip install selenium 

安装浏览器驱动

浏览器驱动 是和 浏览器对应的。 不同的浏览器 需要选择不同的浏览器驱动。

# 安装所有selenium驱动
choco install selenium-all-drivers -y

简单示例

selenium基本使用

# 导入seleniu包的webdriver模块
from selenium import webdriver

# 创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(这里的参数是填写浏览器驱动的路径,驱动在python路径下可以不写驱动路径)
# 带浏览器驱动路径 参数的写法
wd = webdriver.Chrome(r'd:\webdrivers\chromedriver.exe')
# 不加参数的写法
wd = webdriver.Firefox()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

其中,主要运行这行代码,就会运行浏览器启动,自动打开浏览器

# 创建 WebDriver 对象,指明使用Firefox浏览器
wd = webdriver.Firefox()

页面尺寸

# 浏览器窗口最大化
wd.maximize_window()

# 浏览器窗口最小化
wd.minimize_window()  

# 自定义窗口大小
wd.set_window_size(height=800, width=600)  

页面刷新前进后退

# 刷新页面
wd.refresh()
# 后退
wd.back()
#前进
wd.forward()

获取页面标题,url和源码

# 获取页面标题
print(页面标题 := wd.title)
# 获取页面url
print(页面url := wd.current_url)
# 获取页面源码
print(页面源码 := wd.page_source)

关闭浏览器和关闭当前页面

# 关闭浏览器和浏览器驱动
wd.quit()
# 关闭当前窗口
wb.close()

关闭chromedriver打印信息

缺省情况下chromedriver被启动后,会在屏幕上输出不少日志信息,如下

DevTools listening on ws://127.0.0.1:19727/devtools/browser/c19306ca-e512-4f5f-b9c7-f13aec506ab7 [21564:14044:0228/160456.334:ERROR:device_event_log_impl.cc(211)] [16:04:56.333] Bluetooth: bluetooth_adapter_winrt.cc:1072 Getting Default Adapter failed.


可以这样关闭chrome驱动打印信息

from selenium import webdriver

# 关闭chrome浏览器驱动的打印信息
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-logging'])

wd = webdriver.Chrome(options=options)