首页 > 编程语言 >python使用selenium操作浏览器的教程

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

时间:2024-01-19 17:33:20浏览次数:38  
标签:webdriver 浏览器 python selenium driver import 窗口

重复的操作令手工测试苦不堪言,于是自动化测试出现了!作为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操作浏览器的教程_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操作浏览器的教程_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
 
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441 
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操作浏览器的教程_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后点击百度一下,完成搜索后退出浏览器

标签:webdriver,浏览器,python,selenium,driver,import,窗口
From: https://blog.51cto.com/u_14246112/9296834

相关文章

  • 如何使用 Python 库来进行自然语言处理
    自然语言处理(NaturalLanguageProcessing,简称NLP)是人工智能领域中的一个重要分支,它涉及文本和语言数据的处理、理解和生成。Python作为一种简洁而强大的编程语言,拥有众多优秀的NLP库,本文将介绍如何使用Python库进行自然语言处理的基本步骤和常用技术。一、安装Python环境和NLP库1.......
  • 元编程在 Python 的性能方面会有什么影响
    元编程是一种程序设计技术,它使得程序可以动态地创建和修改代码。Python作为一种动态语言,非常适合元编程。然而,使用元编程可能会对Python的性能产生一定的影响,本文将探讨这个问题。一、元编程的基本概念元编程是指在运行时创建、检查、操作和扩展程序的能力。Python中的元编程通常通......
  • 元编程在 Python 中有哪些应用场景
    元编程是一种强大而灵活的程序设计技术,允许我们在运行时动态地创建、检查、操作和扩展代码。在Python中,元编程可以发挥出其优势,并在许多应用场景中提供解决方案。本文将介绍一些常见的元编程应用场景,以帮助您更好地理解和利用这一技术。一、框架和库开发1.类装饰器:通过定义类装饰器......
  • python之字符串二
    字符串详解                   1. indexdefindex(self,sub,start=None,end=None):#realsignatureunknown;restoredfrom__doc__"""S.index(sub[,start[,end]])->intReturnthelowestindexinSwhere......
  • Python实现PowerPoint(PPT/PPTX)到PDF的批量转换
    如果需要处理大量的PPT转PDF的工作,一个个打开并另存为PDF是非常费时的做法。我们可以利用Python编程语言的强大的工具来自动化这个过程,使得批量转换变得简单而高效。本文将介绍如何使用Python将PowerPoint演示文稿(PPT、PPTX等)转换为PDF文件,使演示内容能够在更多的设备上展示,且保持......
  • Jmeter、postman、python 三大主流技术如何操作数据库?
    1、前言只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下:功能测试中,涉及数据展示功能,需查库校验数据正确及完整性;例如商品搜索功能自动化测试或性能测试中,某些接口要跑通,需要关联到数据库操作;例如注册接口中短信验证码获取自动化测试中......
  • 使用Python监听并下载微信聊天表情包
    实现的功能只要有人给你发了表情包,不管是群聊还是个人发的,都将它保存到本地。也许某天斗图的时候就能用到,不过即使有了表情包,还需要一个检索功能,不然这一张一张看也太费眼睛了。检索表情包检索表情包的功能实现比较麻烦,至少需要两个模型:ocr和图片描述生成,如果更复杂点的话还需......
  • 慎用!3个容易被打的Python恶搞脚本
    Python无限恶搞朋友电脑,别提有多爽了,哈哈,打造自己的壁纸修改器,电脑无限锁屏,无线弹窗,都在这里!!!1、修改电脑桌面壁纸工具使用开发环境:python3.7, Windows10使用工具包:win32api,win32con,win32gui,os,randomwin32的工具下载命令:pipinstallpywin32项目解析思路桌面数据信息是保存......
  • python第三节:Str字符串类型(8)
    str.strip([chars])返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。如果省略或为None,则 chars 参数默认移除空白符。注意:参数chars 并非作为一个整体,而是会移除参数值的所有组合。在移除字符串前后的指定字符时,遇到不在参数组合中的字......
  • Python将JSON以表格数据格式导出
      本文介绍基于Python语言,读取JSON格式的数据,提取其中的指定内容,并将提取到的数据保存到.csv格式或.xlsx格式的表格文件中的方法。  JSON格式的数据在数据信息交换过程中经常使用,但是相对而言并不直观;因此,有时我们希望将JSON格式的数据转换为Excel表格文件数据;这里就介绍一下......