python使用selenium操作浏览器的实现示例

 更新时间:2024年01月18日 09:10:29   作者:Python热爱者  
Selenium是一个模拟浏览器浏览网页的工具,主要用于测试网站的自动化测试工具,本文主要介绍了python使用selenium操作浏览器的实现示例,具有一定的参考价值,感兴趣的可以了解一下

重复的操作令手工测试苦不堪言,于是自动化测试出现了!作为web应用里最出名的自动化测试工具,selenium让web应用的测试轻松了很多。今天我们就来简单的介绍一下一些简单的selenium浏览器操作。接下来我们就来看看python怎么操作浏览器的吧!

1、打开指定的网页地址

我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现

from selenium import webdriver
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')   # 本行用于访问指定的地址

2、获取当前页面url

我们在测试过程中,有时需要获取当前页面的url以判断是否跳转到指定页面,获取页面url的方法如下:

from selenium import webdriver
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
url = driver.current_url    # 本行用于获取当前页面的url,即百度首页地址
print(url)

python使用selenium操作浏览器的教程_搜索

3、返回按钮

返回按钮,也就是浏览器左上角的 ← 键,模拟点击此按钮操作如下 driver.back()

python使用selenium操作浏览器的教程_搜索_02

如,在百度搜索框中输入selenium并点击搜索,然后点击返回按钮,实现如下

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
 
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
driver.find_element(By.ID, 'kw').send_keys('selenium')  #搜索框输入selenium
driver.find_element(By.ID, 'su').click()     # 点击百度一下
time.sleep(3)
driver.back()  # 返回

本段代码表示在输入框中输入selenium后,再点击百度一下进行搜索,3秒后再返回百度首页

4、前进按钮

前进按钮,相对于后退的 ← ,是浏览器左上角的 → 按钮 ,操作此按钮方法如下:

driver.forward()

python使用selenium操作浏览器的教程_当前页_03

如,在百度搜索框中输入selenium并点击搜索,然后点击返回按钮后再点击前进按钮,实现如下

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
 
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
driver.find_element(By.ID, 'kw').send_keys('selenium')  #搜索框输入selenium
driver.find_element(By.ID, 'su').click()     # 点击百度一下
driver.back()   # 返回
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
time.sleep(3)
driver.forward()  # 前进

本段代码表示在输入框中输入selenium后,再点击百度一下进行搜索,然后返回操作,3秒后再进行前进操作,最终停留在输入selenium之后执行搜索的结果页面

5、刷新页面

测试过程中,刷新页面是经常使用的操作,selenium进行刷新操作方法如下

driver.refresh() 使用此方法类似于按下F5或点击左上角的刷新按钮

python使用selenium操作浏览器的教程_搜索_04

from selenium import webdriver
 
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
driver.refresh()    # 刷新页面

本段代码表示打开百度首页并刷新页面

6、获取当前页面title

测试过程中,可以使用selenium获取当前页面的title,方法如下: driver.title

python使用selenium操作浏览器的教程_selenium_05

使用selenium获取百度首页的title,示例如下:

from selenium import webdriver
 
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
title = driver.title  # 获取当前页面title
print(title)

以上代码运行后,将在控制台输出百度首页的title 百度一下,你就知道

7、窗口大小操作

常用的窗口操作有设置窗口大小、最大化窗口、最小化窗口、全屏窗口

① 设置窗口大小 driver.set_window_size(1920, 1080)

② 最大化窗口 driver.maximize_window()

③ 最小化窗口 driver.minimize_window() 最小化窗口是selenium4的新功能,selenium3不能使用此方法

④ 全屏窗口,相当于大多数浏览器中按下F11 driver.fullscreen_window()

示例代码:

from selenium import webdriver
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
driver.set_window_size(1920, 1080)   # 设置窗口大小 1920*1080
driver.minimize_window()  # 最小化窗口
driver.maximize_window()  # 最大化窗口
driver.fullscreen_window() # 全屏窗口

本段代码打开百度首页后,先将浏览器窗口大小设置为1920*1080,然后依次最小化窗口、最大化窗口、全屏窗口,实际进行测试时,需要根据需要进行设置

8、退出

测试执行完成后,需要退出浏览器,否则多次运行测试会导致系统残留大量的驱动进程,这些进程会消耗计算机资源,导致系统越来越卡,所以养成测试完成后关闭浏览器是个良好习惯

python使用selenium操作浏览器的教程_当前页_06

退出浏览器操作如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
 
driver = webdriver.Edge()
driver.get('https://www.baidu.com/')
driver.find_element(By.ID, 'kw').send_keys('selenium')  #搜索框输入selenium
driver.find_element(By.ID, 'su').click()     # 点击百度一下
driver.quit()     # 退出浏览器

本段代码表示打开百度首页,再输入框中 输入selenium后点击百度一下,完成搜索后退出浏览器

到此这篇关于python使用selenium操作浏览器的实现示例的文章就介绍到这了,更多相关python selenium操作浏览器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django-利用session机制实现唯一登录的例子

    django-利用session机制实现唯一登录的例子

    这篇文章主要介绍了django-利用session机制实现唯一登录的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • VScode连接远程服务器上的jupyter notebook的实现

    VScode连接远程服务器上的jupyter notebook的实现

    这篇文章主要介绍了VScode连接远程服务器上的jupyter notebook的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 一文带你了解CNN(卷积神经网络)

    一文带你了解CNN(卷积神经网络)

    CNN是神经网络中的一种,它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。本文主要讲解了CNN(卷积神经网络)的基础内容,想了解更多的小伙伴可以看一看这篇文章
    2021-09-09
  • Python操作远程服务器 paramiko模块详细介绍

    Python操作远程服务器 paramiko模块详细介绍

    这篇文章主要介绍了Python操作远程服务器 paramiko模块详细介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python实现的阳历转阴历(农历)算法

    python实现的阳历转阴历(农历)算法

    这篇文章主要介绍了python实现的阳历转阴历(农历)算法,需要的朋友可以参考下
    2014-04-04
  • 利用python解决mysql视图导入导出依赖的问题

    利用python解决mysql视图导入导出依赖的问题

    这篇文章主要给大家介绍了关于利用python解决mysql视图导入导出依赖的问题,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • 在Keras中实现保存和加载权重及模型结构

    在Keras中实现保存和加载权重及模型结构

    这篇文章主要介绍了在Keras中实现保存和加载权重及模型结构,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中使用item()方法遍历字典的例子

    Python中使用item()方法遍历字典的例子

    这篇文章主要介绍了Python中使用item()方法遍历字典的例子,for...in这种是Python中最常用的遍历字典的方法了,需要的朋友可以参考下
    2014-08-08
  • 完美解决python遍历删除字典里值为空的元素报错问题

    完美解决python遍历删除字典里值为空的元素报错问题

    下面小编就为大家带来一篇完美解决python遍历删除字典里值为空的元素报错问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • python 使用递归的方式实现语义图片分割功能

    python 使用递归的方式实现语义图片分割功能

    这篇文章主要介绍了python 使用递归的方式实现语义图片分割,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论