Selenium 控制浏览器
webdriver提供了操作浏览器的一些基本方法,例如:打开,前进,后退,刷新,设置窗口大小,截屏,退出等
一、打开网页
代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 等待3秒
sleep(3)
# 退出
driver.quit()
二、前进和后退
我们平常在浏览器中点击链接跳转到多个网页的时候,可以点击浏览器左上角的上前和后退箭头按钮,来切换网页。webdriver也提供了前进和后退的方法
代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 点击右上角“新闻”链接进入到新闻页面
driver.find_element_by_link_text("新闻").click()
sleep(2)
# 退回到百度首页
driver.back()
sleep(2)
# 前进到新闻页
driver.forward()
sleep(2)
# 退出
driver.quit()
三、刷新页面
代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
driver.find_element_by_css_selector('#kw').send_keys('selenium')
# 等待2秒刷新页面
sleep(2)
driver.refresh()
sleep(2)
# 退出
driver.quit()
四、设置浏览器窗口大小
- 可以指定浏览器窗口大小
- 可以最大化浏览器窗口
代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 设置浏览器窗口大小为480*800
driver.set_window_size(480,800)
# 等待2秒最大化窗口
sleep(2)
driver.maximize_window()
# 等待2秒退出
sleep(2)
driver.quit()
五、截屏
代码:
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 截屏
driver.get_screenshot_as_file(r"d:/test/1.png")
# 等待2秒退出
sleep(2)
driver.quit()
六、退出
- close关闭当前窗口
- quit结束进程,关闭所有窗口
# coding = utf-8
from time import sleep
from selenium import webdriver
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Chrome(executable_path=driverfile_path)
# 打开百度首页
driver.get(r'https://www.baidu.com/')
# 关闭当前窗口
driver.close()
# 等待2秒退出浏览器进程
sleep(2)
driver.quit()
Selenium 控制浏览器的更多相关文章
- 通过selenium控制浏览器滚动条
目的:通过selenium控制浏览器滚动条 原理:通过 driver.execute_script()执行js代码,达到目的 driver.execute_script("window.sc ...
- selenium控制浏览器操作
selenium控制浏览器操作 控制浏览器有哪些操作? 控制页面大小 前进.后退 刷新 自动输入.提交 ........ 控制页面大小,实例: # -*- coding:utf-8 -*- from ...
- Selenium系列(22) - 通过selenium控制浏览器滚动条的几种方式
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- selenium - 控制浏览器窗口的大小和浏览器最大化
1.控制浏览器大小 有些前端的页面需要查看在不同像素下的兼容情况,比如把像素设置为 480*800,然后截图看看页面显示有没有问题 WebDriver 提供了 set_windows_size() 方 ...
- selenium控制浏览器
1.要把浏览器设置为全屏,否则有些元素是操作失败的,如对下图进行操作按钮是失败的,因为按钮没有显示出来 2.设置浏览器的宽.高 3.控制前进.后退(不建议使用driver.black().driver ...
- selenium控制浏览器为手机模式
# -*- coding: utf-8 -*- from selenium import webdriver from time import sleep mobileEmulation = {'de ...
- python+selenium控制浏览器窗口(刷新、前进、后退、退出浏览器)
调用说明: driver.属性值 变量说明: 1.driver.current_url:用于获得当前页面的URL 2.driver.title:用于获取当前页面的标题 3.driver.page_so ...
- 【python+selenium的web自动化】- 控制浏览器的常用操作
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 前言 本文主要介绍se ...
- python+selenium自动化测试——浏览器驱动
selenium控制浏览器需要下载对应版本的驱动,并把下载好的驱动解压然后拷贝到python的安装目录. 1.chrome 驱动对应版本及下载地址;https://npm.taobao.org/mir ...
随机推荐
- Connection is read-only. Queries leading to data modification are not allowed 错误原因
因为我再spring 中使用了AOP进行事务管理,有如下配置 <tx:advice id="txAdvice" transaction-manager="trans ...
- mybatis使用的一点小结:session运行模式及批量提交(转)
mybatis的执行器有三种类型: ExecutorType.SIMPLE 这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement. ExecutorType.REUSE 这 ...
- hibernate字段映射枚举类型
上一篇介绍了mybatis字段映射枚举类型,这一篇给大家介绍一下hibernate字段怎么去映射枚举类型的(这只是一种参考方式,映射方法还有很多种). 还是以上篇sku表为例,sku表里一个statu ...
- adb 打印kernel输出的log
一. linux 内核printk机制 1.1. Android内核是基于Linxu kernel的,因此其log机制也是通用的,在Android内核中使用printk函数进行Log输出.与 ...
- yii框架RBAC權限管理
基于角色的存取控制 (RBAC) 基于角色的存取控制 (RBAC) 提供了一个简单而强大的集中式存取控制机制. 详细的关于 RBAC 和诸多传统的存取控制方案对比的详情,请参阅 Wikipedia. ...
- 父进程pid和子进程pid的大小关系
如果进程ID最大值没有达到系统进程数的上限,子进程比父进程ID大.但是如果进程ID达到上限,系统会分配之前分配但是已经退出的进程ID给新进程,这样有可能出现子进程ID比父进程小.
- 如何获取设置display:none元素及子元素的宽高
由于元素设置了display:none时,页面便不会对其渲染,导致无法获取其元素的宽高.目前一般的做法都是先对其设置display:block,拿到数据再设置其为display:none.如此便可以了 ...
- element-ui使用el-tabs组件的时候浏览器直接卡死的问题
遇到这个问题的原由是:本身自己项目的elementUI版本是2.0.11较低了,项目有个功能是自定义progress进度条颜色,无奈高版本的才有这个配置,所以就升级了elementUI,升级到了最高版 ...
- sql server 获取整数的函数ceiling(x)和floor(x)
--ceiling(x)返回不小于x的最小整数值,floor(x)返回不大于x的最大整数值 示例:select CEILING(-3.35), CEILING(3.35), FLOOR(-3.35), ...
- GDAL联合OpenCV进行图像处理
作为一名图像处理方面的工程师,在面对大数据量的遥感影像时,往往会利用到强大的GDAL库,但是GDAL库却没有方面的算法函数进一步进行处理:同时我们看到Opencv库能提供强大的算法支持,却对大数据影像 ...