服务器之家

服务器之家 > 正文

教你怎么用Python selenium操作浏览器对象的基础API

时间:2021-12-07 12:41     来源/作者:繁华似锦Fighting

前言

相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要。

在Selenium测试框架的API中,主要分为三大类:

1.对浏览器本身的相关操作。

2.对浏览器页面中,元素的定位操作。

3.对浏览器页面中元素进行定位后,对该元素的一些操作。如:点击、输入等操作。

我们本篇文章先说说Selenium框架对浏览器对象的基础操作。

一、导入Selenium库

?
1
2
# 导入Selenium驱动
from selenium import webdriver

二、创建浏览器对象

即:打开一个浏览器。

?
1
2
3
4
5
# 语法:driver = webdriver.xxx()
driver = webdriver.Chrome()
 
# 使用dir(driver)查看浏览器对象的操作
print(dir(driver))

三、浏览器窗口大小设置

?
1
2
3
4
5
6
7
8
9
# 1.设置浏览器尺寸
# 宽480、高800(最好根据显示器分别调整)
driver.set_window_size(480, 800)
 
# 2.获取浏览器尺寸
driver.get_window_size()       
 
# 3.浏览器窗口最大化(很常用)
driver.maximize_window()

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"""
1.学习目标
    掌握selenium中控制浏览器窗口大小的方法
2.操作步骤(方法)
    2.1设置浏览器窗口大小,宽度,高度
        driver.set_window_size(宽,高)
    2.2 获取浏览器窗口大小
        driver.get_window_size()
    2.3将浏览器窗口最大化
        driver.maximize_window)
3.需求
    使用selenium实现对浏览器窗口大小的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
 
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
 
# 3.设置浏览器窗口大小
# 3.1 将窗口设置为宽100,高200
# (windowHandle参数为窗口句柄,以后再说)
driver.set_window_size(100, 200)
sleep(3)
 
# 3.2 获取浏览器窗口大小
window_size = driver.get_window_size()
print(window_size)
 
# 3.3 窗口最大化
driver.maximize_window()
 
# 4.关闭浏览器
driver.quit()
"""
输出结果:
{'width': 516, 'height': 200}
"""

四、浏览器位置设置

?
1
2
3
4
5
# 1.获取浏览器位置
driver.get_window_position()       
 
# 2.设置浏览器位置
driver.set_window_position(x,y)    

注:显示器以左上角为(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素。

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""
1.学习目标
    掌握selenium中控制浏览器窗口位置的方法
2.操作步骤(方法)
    2.1 设置浏览器窗口位置(横纵坐标)
        set_window_position(横坐标,纵坐标)
    2.2 获取浏览器窗口位置
        driver.get_window_position()
 
3.需求
    使用selenium实现对浏览器窗口位置的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
 
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
 
# 3.设置浏览器位置
# 3.1 将窗口的位置设置为100,300
driver.set_window_position(100, 300)
sleep(2)
 
# 3.2 获取浏览器窗口位置
window_position = driver.get_window_position()
print(window_position)
 
# 4.关闭浏览器
driver.quit()
 
"""
输出结果:
{'x': 100, 'y': 300}
"""

五、请求访问网址

?
1
2
3
4
5
# 请求某个url
# 语法:driver.get(url)   
# 工作中写法
url = "http://www.baidu.com"
driver.get(url)

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
"""
1.学习目标
    掌握selenium中控制浏览器访问指定网站的操作
2.操作步骤(方法)
    请求某个url
    语法:driver.get(url)
3.需求
    使用selenium实现对浏览器访问指定网站的操作
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
 
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
 
# 3.访问网站
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
 
# 4.关闭浏览器
driver.quit()

六、浏览器页面前进、后退和刷新

?
1
2
3
4
5
6
7
8
# 1.页面前进
driver.forward()
 
# 2.页面后退
driver.back()
 
# 3.页面刷新
driver.refresh()

示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""
1.学习目标
    掌握selenium控制浏览器的前进,后退,刷新
2.操作步骤(语法)
    2.1前进
        driver.forward()
    2.2后退
        driver.back()
    2.3刷新
        driver.refresh()
3.需求
    使用谷歌浏览器分别打开百度,京东,淘宝,使用前进,后退,刷新方法
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
 
# 2.打开浏览器---谷歌浏览器
driver = webdriver.Chrome()
# 3.窗口最大化
driver.maximize_window()
sleep(2)
# 4.输入网址百度,京东,淘宝
driver.get("http://www.baidu.com")
sleep(2)
driver.get("http://www.jd.com")
sleep(2)
driver.get("http://www.taobao.com")
sleep(2)
# 5.使用前进,后退,刷新命令
# 前进
driver.back()  # 后退到京东
sleep(2)
driver.back()  # 后退到百度
sleep(2)
# 后退
driver.forward()  # 前进到京东
sleep(2)
driver.forward()  # 前进到淘宝
sleep(2)
 
# 刷新
driver.refresh()  # 保持在淘宝页面
sleep(2)
 
# 6.关闭浏览器
driver.quit()

七、关闭浏览器

(1)关闭当前窗口

?
1
2
# 只关闭当前浏览器窗口
driver.close()

(2)退出驱动并关闭所有关联的窗口

?
1
2
# 即关闭浏览器窗口,同时关闭浏览器驱动
driver.quit()

到此这篇关于教你怎么用Python selenium操作浏览器对象的基础API的文章就介绍到这了,更多相关Python selenium操作API内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/liuyuelinfighting/p/14923204.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部