Selenium - 浏览器控制

本文介绍使用Python结合Selenium进行Web自动化时,对浏览器进行控制的基本属性和方法,包括切换窗口、获取URL及标题等操作。
部署运行你感兴趣的模型镜像

前面几篇介绍了元素定位相关的方法,从这一篇开始会介绍得到元素对象后的各种操作方法。web自动化的难点就是如何准确稳定地获得元素对象,之后的操作就显得容易很多,浏览一下API的文档做一下搬运工就能实现。 俗话说授之以鱼不如授之以渔,给出python的webdriver API的文档地址供大家学习,这里则选取一些常用的方法通过举例帮助大家知道如何运用。

今天主要介绍一下浏览器控制的一些常用属性和方法,他们大多集中在selenium.webdriver.remote.webdriver类中。不管是用哪种浏览器,他们都继承自remote.webdriver类,用的方法属性都是相同的。先列举几个常见的属性。

current_url: 返回当前浏览器的url

title: 返回当前页面title

current_window_handler:返回当前窗口的句柄,这在多窗口切换的时候会用到

window_handlers: 返回当前浏览器的所有窗口的句柄。下面举个多窗口切换的例子。

driver = webdriver.Firefox()
# 打开网页
driver.get('https://www.baidu.com')
# 获取主页窗口的句柄
search_window = driver.current_window_handle
# 打开新窗口   
 driver.find_element_by_xpath("//map[@name='mp']/area").click()
# 获取所有窗口的句柄
all_windows = driver.window_handles
sleep(3)
# 遍历所有句柄,如果和主页句柄相同则切换回主页
for window in all_windows:
    if window == search_window:
        driver.switch_to.window(window)          

一下是常见的控制浏览器的方法:

get(url): 加载指定的网页

back()/forward(): 对应于浏览器的向前向后按钮

implicitly_wait(time): 隐式等待,在元素被找到前的等待时间,time的单位是秒。它的作用域是全局的,一个session只用设置一次,任意元素如果在指定时间内没有被找到则抛错。会用单独一篇来介绍元素等待的话题,在这里就不详细解释了

close(): 关闭当前的窗口

quit(): 关闭整个浏览器,所有的窗口都会关闭

refresh(): 刷新网页

get_screenshot_as_file(filename): 保存浏览器的截图到一个png文件, 这里要注意filename需要是一个完整的路径,例如/Users/jack/Downloads/screenshot.png.

set_window_position(x,y,windowHandle='current'): x,y的单位是像素,设置浏览器的位置。get_window_position()则可以获得浏览器当前的位置。

set_window_size(width,height, windowHandle='current'): width, height的单位是像素,设置浏览器的长宽。get_window_size()可以获得浏览器的尺寸。

maximize_window(): 最大化窗口。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值