selenium 浏览器(2)

概述

对浏览器的操作除了打开关闭浏览器、定位页面元素之外,比较重要的一个部分就是访问页面和获取浏览器的相关信息,主要包括获取浏览器的标题、URL、获取cookies、调用浏览器的警告窗口、浏览器导航以及切换窗口、标签页等。

功能

页面导航

浏览器的导航功能主要包括访问、前进、后退、刷新四个部分。这也是大多数浏览器都必须实现的功能。

1、访问URL

driver.get("https://blog.csdn.net")

2、后退

driver.back()

3、前进

driver.forward()

4、页面刷新

driver.refresh()
获取页面信息

每打开一个页面时,浏览器就会储存页面的相关信息。这主要包括浏览器页面的标题和URL。

1、获取标题

driver.title

2、获取URL

driver.current_url
Cookie

cookie,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。如果需要cookie来辨认用户的身份,则需要对cookie进行操作。

1、添加cookie

cookie_dict = {"name":"key", "value": "value"}
driver.add_cookie(cookie_dict)

其中,cookie的sameSite属性允许用户引导浏览器控制cookie,是否与第三方站点发起的请求一起发送。 引入其是为了防止CSRF(跨站请求伪造)攻击。当sameSite属性设置为 Strict,cookie不会与来自第三方网站的请求一起发送;当sameSite属性设置为 Lax, cookie将与第三方网站发起的GET请求一起发送。

cookie_dict = {"name":"key", "value": "value", 'sameSite': 'Strict'}
driver.add_cookie(cookie_dict)

2、获取单个cookie

driver.get_cookie("key")

3、获取所有cookie

driver.get_cookies()

4、删除单个cookie

driver.delete_cookie("key")

5、删除所有cookie

driver.delete_all_cookies()
切换Frame

1、通过element切换

# 存储网页元素
iframe = driver.find_element(By.CSS_SELECTOR, "#modal > iframe")
# 切换到选择的 iframe
driver.switch_to.frame(iframe)

2、通过name或id属性进行切换。如果 frame 或 iframe 具有 id 或 name 属性,则可以使用该属性。如果名称或 id 在页面上不是唯一的, 那么将切换到找到的第一个。

# 通过 id 切换框架
driver.switch_to.frame('buttonframe')

3、使用索引进行切换。

# 基于索引切换到第 2 个 iframe
iframe = driver.find_elements_by_tag_name('iframe')[1]

4、切换回原来的frame。

# 切回到默认内容
driver.switch_to.default_content()
切换窗口或标签页

1、创建并切换新的标签或窗口

# 打开一个新窗口并切换到新窗口
driver.switch_to.new_window("window")

# 打开新标签页并切换到新标签页
driver.switch_to.new_window("tab")

2、切换回原来的标签或窗口

original_window = driver.current_window_handle
driver.switch_to.window(original_window)

3、关闭标签或窗口

driver.close()
窗口管理

1、获取窗口大小

driver.get_window_size()

2、设置窗口大小

size = (1024, 768)
driver.set_window_size(size)

3、获取窗口位置

driver.get_window_position()

4、设置窗口位置

position = (100, 100)
driver.set_window_position(position)

5、最大最小化窗口

# 最大化
driver.maximize_window()
# 最小化
driver.minimize_window()

6、全屏模式

driver.fullscreen_window()

7、窗口截屏

driver.save_screenshot('./image.png')

8、窗口某个元素截屏

element = driver.find_element(By.CSS_SELECTOR, 'h1')
element.screenshot('./image.png')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值