WebDriver常用属性和方法
除了上一篇的元素定位方法,Selenium中的WebDriver类中还有一些常用的属性和方法
一、常用的属性
1、下表列出了WebDriver的常用属性
| # | 属性 | 属性描述 | 用途 |
|---|---|---|---|
| 1 | driver.name | 浏览器名称 | |
| 2 | driver.url | 当前url | |
| 3 | driver.title | 当前页面标题 | 可用于判断是否成功打开目标页面 |
| 4 | driver.page_source | 当前页面源码 | |
| 5 | driver.current_window_handle | 窗口句柄 | |
| 6 | driver.window_handles | 当前窗口所有句柄 |
2、代码示例
下面代码能够输出webdriver类中属性的值
`
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
class Testcase:
def __init__(self):
self.driver = webdriver.Edge()
self.driver.get("https://www.baidu.com")
#输出WebDriver类常用的属性
def test_prop(self):
print(self.driver.name)
print(self.driver.current_url)
print(self.driver.title)
print(self.driver.current_window_handle)
#print(self.driver.page_source)
if __name__ == '__main__':
testcase=Testcase()
testcase.test_prop()
`
输出结果如下:

二、常用的方法
1、下表列出了WebDriver类常用方法
| # | 方法 | 用途 |
|---|---|---|
| 1 | driver.find_element() | 定位元素 |
| 2 | driver.switch_to.window() | 切换窗口,目标页面句柄作为参数 |
| 3 | driver.back() | 后退至上一页面 |
| 4 | driver.forward() | 前进至下一页面 |
| 5 | driver.refresh() | 刷新当前页面 |
| 6 | driver.close() | 关闭当前窗口 |
| 7 | driver.quit() | 关闭所有窗口 |
2、代码示例
以下代码调用WebDriver中常用方法
`
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
class Testcase:
def __init__(self):
self.driver = webdriver.Edge()
self.driver.get("https://www.baidu.com")
def test_method(self):
#输入框中输入关键词“Python”并点击搜索
self.driver.find_element(By.ID, "kw").send_keys("Python")
self.driver.find_element(By.ID,"su").click()
sleep(2)
#点击链接,打开另一个窗口
self.driver.find_element(By.LINK_TEXT,"百度百科").click()
sleep(2)
#切换回第一个窗口
self.driver.switch_to.window(self.driver.window_handles[0])
sleep(2)
#后退到上一页面
self.driver.back()
sleep(2)
#前进到下一页面
self.driver.forward()
sleep(2)
#刷新当前页面
self.driver.refresh()
sleep(2)
#关闭当前窗口
self.driver.close()
sleep(2)
#关闭整个页面,所有窗口
self.driver.quit()
if __name__ == '__main__':
testcase=Testcase()
testcase.test_method()
`
WebDriver常用属性和方法的更多相关文章
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- ios基础篇(四)——UILabel的常用属性及方法
UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...
- UITableView常用属性和方法 - 永不退缩的小白菜
UITableView常用属性和方法 - 永不退缩的小白菜 时间 2014-05-27 01:21:00 博客园精华区原文 http://www.cnblogs.com/zhaofucheng11 ...
- UIView的一些常用属性和方法
UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...
- SVG DOM常用属性和方法介绍(1)
12.2 SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...
- 第190天:js---String常用属性和方法(最全)
String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...
- UIView常用属性与方法/UIKit继承结构
UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...
- JavaScript中Number常用属性和方法
title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...
- 12-27 UITableView常用属性及方法
UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...
- CoreAnimation 核心动画一 (一些常用属性 和 方法)
1.常用属性: frame bounds center alpha Transition 过渡 transform 动画效果 2.常用方法: +(void)setAnimati ...
随机推荐
- Spring启动报8080端口被占用问题
1.window下关闭8080端口 win+R:输入cmd,回车 在黑窗口中输入指令:netstat -ano | findstr 8080 指令的意思是找出占用8080端口的进程pid ...
- Mac版Sublime Text 4152 激活
Sublime Text下载地址:Download - Sublime Text 破解工具"Hex Fiend"下载地址:Hex Fiend, a fast and clever ...
- liunx下安装Nginx
Linux下nginx的安装以及环境配置 https://blog.csdn.net/qq_42815754/article/details/82980326 第一步:下载nginx压缩包 在这里可以 ...
- YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
前言 今天大姚给大家分享一款基于.NET8开源.免费(MIT License)功能强大的权限管理及快速开发框架,支持前后端分离,项目架构易于扩展,是中小企业的首选:YuebonNetCore. 核心设 ...
- C#自定义控件—指示灯
C#用户控件之指示灯 在体现通讯状态.运行状态等用一个靓眼的指示灯如何做? 思路(GDI) 外环用笔绘制(Pen),内圆用画刷(SolidBrush); 两个方法(用笔画圆,用画刷填充圆的内部): 绘 ...
- CSS – rem, em, px
参考: 掘金 – 如何更愉快地使用em -- 别说你懂CSS相对单位 绝对值 vs 相对值 px, cm, mm 这些是绝对值. rem, em 是相对值. 绝对值就是最终的尺寸. 相对值的意思是它不 ...
- EF Core – Many to Many
前言 Many to many 是 EF Core 5.0 才开始有的, 以前都用 2 个 1-n 来实现的. 由于它比 1-n 复杂, 所以有必要写一遍来记入一下. 参考: Relationship ...
- Qml 实现星级评分组件 已发布
[写在前面] 在现代应用程序中,星级评分是一个常见的用户界面元素,它允许用户对产品.服务或内容进行评价. 想必大家在用各种带有评分的软件中看到过这个组件: 本文将指导你如何使用 Qml 创建一个简单而 ...
- 一次基于AST的大规模代码迁移实践
作者:来自 vivo 互联网大前端团队- Wei Xing 在研发项目过程中,我们经常会遇到技术架构迭代更新的需求,通过技术的迭代更新,让项目从新的技术特性中受益,但由于很多新的技术迭代版本并不能完全 ...
- 3.1 gradio的基本使用详解
·gr.Text:用于文本输入,适用于自然语言处理任务的模型. gr.Image:用于图像上传,适用于图像处理或计算机视觉模型. ·gr.Audio:用于音频输入,适用于语音识别或音频处理模型. im ...