除了上一篇的元素定位方法,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常用属性和方法的更多相关文章

  1. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  2. ios基础篇(四)——UILabel的常用属性及方法

    UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...

  3. UITableView常用属性和方法 - 永不退缩的小白菜

    UITableView常用属性和方法 - 永不退缩的小白菜 时间 2014-05-27 01:21:00  博客园精华区原文  http://www.cnblogs.com/zhaofucheng11 ...

  4. UIView的一些常用属性和方法

    UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...

  5. SVG DOM常用属性和方法介绍(1)

    12.2  SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...

  6. 第190天:js---String常用属性和方法(最全)

    String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...

  7. UIView常用属性与方法/UIKit继承结构

    UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...

  8. JavaScript中Number常用属性和方法

    title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...

  9. 12-27 UITableView常用属性及方法

    UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...

  10. CoreAnimation 核心动画一 (一些常用属性 和 方法)

    1.常用属性: frame   bounds   center   alpha    Transition 过渡    transform 动画效果 2.常用方法: +(void)setAnimati ...

随机推荐

  1. 手把手教你掌握SeaTunnel k8s运行Zeta引擎本地模式的技巧

    转载自小虾米0.0 导读:随着Kubernetes的普及和发展,越来越多的企业和团队开始使用Kubernetes来管理和部署应用程序.然而,Kubernetes的默认工作方式可能不是最佳的选择,尤其是 ...

  2. Flex动态加载svg图片

    1.静态显示 在FLEX应用程序中可以使用SVG资源, 但只能象JPG和GIF那样作为一种图像引入, 而不包括SVG的一些高级特性, 而且无法在运行时加载, 只能在编译时静态加载,所以图片的大小无法改 ...

  3. 9. 从0学ARM Cortex-A9 LED汇编、C语言驱动编写

    0. 前言 一般我们购买一个开发板,厂家都会给出对应的电路图文件,我们可以通过搜索对应名称来查找到对应的外设.对于驱动工程师来说,我们只需要知道外设与SOC交互的一些数据线和信号线即可. 用主控芯片控 ...

  4. RealNet:从数据生成到模型训练的最新工业异常检测 | CVPR 2024

    论文提出了一种创新的自监督异常检测框架RealNet,集成了三个核心组件:可控制强度的扩散异常合成(SDAS).异常感知特征选择(AFS)和重构残差选择(RRS).这些组件通过协同作用,使RealNe ...

  5. nexus3.x批量上传Windows本地仓库jar包

    亲测可用!!! 传送门:https://blog.csdn.net/lihbps/article/details/104527652

  6. .NET 8.0 前后分离快速开发框架

    前言 大家好,推荐一个.NET 8.0 为核心,结合前端 Vue 框架,实现了前后端完全分离的设计理念.它不仅提供了强大的基础功能支持,如权限管理.代码生成器等,还通过采用主流技术和最佳实践,显著降低 ...

  7. seata 下载及安装

    分布式事务 参考文章: 分布式事务实战方案汇总 https://www.cnblogs.com/yizhiamumu/p/16625677.html 分布式事务原理及解决方案案例https://www ...

  8. Redis 入门 - 简介

    Redis是Remote Dictionary Server的缩写,可以翻译成远程字典服务.Redis是用C语言编写的开源项目. Redis 最主要的特点就是高性能,对于简单的键值读取速度可以达到10 ...

  9. Angular 18+ 高级教程 – Component 组件 の @let Template Local Variables

    前言 Angular 在 v18.1 推出了 Template 新语法 @let. 这个 @let 和上一篇教的 Control Flow @if, @for, @swtich, @defer 语法上 ...

  10. chatGPT能做职业规划?看完之后发现3年软测白做了!

    "每天都是重复.单调的工作,收入不理想,想跳槽无力,学习又没有动力和方向,不知道未来的发展在哪里,甚至想转行·····" 做测试久了,很多人都有诸如此类的疑惑,不想一直停留在测试需 ...