除了上一篇的元素定位方法,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. 使用智能AI在农业养殖业中风险预警的应用

    一.前言 之前写过一篇<物联网浏览器(IoTBrowser)-使用深度学习开发防浸水远程报警>文章,主要介绍了通过摄像头麦克风监测浸水报警器有无异常,当出现异常后进行紧急报警并推送微信通知 ...

  2. springboot经验之sql注入、xss注入拦截(POST)

    简介 sql注入.xss注入.cors攻击的简介以及解决方案,可以参考下面链接: https://blog.csdn.net/yhhyhhyhhyhh/article/details/84504487 ...

  3. express请求数据的获取(get和post)body-parser

    get请求 直接用res.query就可以拿到数据 post请求 需要使用中间件body-parser 第一步:安装body-parser npm i body-parser 第二步:按照模板进行使用 ...

  4. 折腾 Quickwit,Rust 编写的分布式搜索引擎 - 从不同的来源摄取数据

    摄取 API 在这节教程中,我们将介绍如何使用 Ingest API 向 Quickwit 发送数据. 要跟随这节教程,您需要有一个本地的 Quickwit 实例正在运行. https://quick ...

  5. Redmi AX6000 刷 OpenWrt

    一直想尝试玩玩软路由,但是家里实在没有软路由的需求,外加不知道该入手什么机器来刷软路由,所以迟迟没有入手.最近研究生要开学了,但是学校的有线网要下载专用软件认证才能上网,终于找到合适的理由入手一款软路 ...

  6. Linux 主流图形显示系统

    在 Linux 系统中,主流的图形显示系统主要有以下几种: X Window System (X11) 简介 X Window System,通常简称为 X 或 X11,是历史最悠久.最广泛使用的图形 ...

  7. AutoFitTextureView Error inflating class

    报错: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解 ...

  8. docker with GPU support

    自己总结的: nvidia-docker, 不支持windows,2019.10, nvidia-docker过时了,从docker 1903开始,安装一个nvidia-container-runti ...

  9. Serilog文档翻译系列(四) - 结构化数据

    Serilog 是一种序列化器.在许多情况下,它具有良好的默认行为,能够满足其目的,但有时也需要指示 Serilog 如何存储附加到日志事件上的属性. Serilog 使用一些不寻常的术语来指代 .N ...

  10. 微前端实践MicroApp

    微前端实践 本文主要是关于microApp的实践过程记录 本文主要内容如下: 什么是MicroApp? MicroApp的父子通讯方式以及路由介绍 如何部署相关应用? 安装 npm i @micro- ...