selenium

selenium标签页切换

# 获取当前所有的标签页的句柄列表

list = driver.window_handles

# 根据标签页句柄列表索引下标进行切换

driver.switch_to.window(list[0])

对于特定的框架,需要切换到frame界面(例如QQ登录界面中,模拟点击登录)

# 定位到对应的frame标签

driver_frame = driver.find_element_by_xpath('xpath语法')

driver.switch_to.frame(driver_frame)

selenium cooking获取操作

# 获取当前标签页的全部cooking值

driver.get_cookies()

# 把cooking 转化为字典

dict = {cookie['name']: cooking['value'] for cookie in driver.get_cookies()}

selenium 滚动条操作(js执行)

x水平移动,y垂直移动

driver.execute_script('scrollTo(x,y)') # 一般x为0,一般不移动。

页面等待

强制页面等待(少用)

利用time库中的sleep方法

time.sleep(秒数) # 强制停留在当前页面秒数

隐式等待(常用)

一般会不断进行寻找元素,进行判断,当寻找到后进行下一步操作。

在设置时间内没有定位成功,则会报超时错误。

driver.implictly_wait(10) # 隐式等待10秒

对象配置(无头模式)

创建配置对象

opt = webdriver.ChromeOptions()

添加配置参数

设置浏览器为无头模式

opt.add_argument('--headless')

opt.add_argument('--disable-gpu')

更换ip代理(这里必须要重新启动浏览器)

opt.add_argument('--proxy-server=http://代理ip:端口')

更换头

opt.add_argument('--user-agent= 虫头 ')

创建浏览器对象添加配置对象

driver = webdriver.Chrome(chrome_options = opt)

driver.get(url)

### Selenium 使用指南 #### Selenium 的发展历史与主要组成部分 Selenium 3于2009年发布,这一版本去除了Selenium RC,其核心组件主要包括Selenium WebDriver 和 Selenium Grid[^1]。其中,Selenium WebDriver 是我们日常开发中最常用的模块,而 Selenium Grid 则用于支持分布式环境下的自动化测试。 --- #### Selenium 的安装方法 为了在 Python 中使用 Selenium 进行浏览器操作,需先完成以下准备工作: 1. **安装 Selenium 库** 可通过 `pip` 命令来安装 Selenium: ```bash pip install selenium ``` 2. **下载对应的浏览器驱动程序** 不同的浏览器需要不同的驱动程序。例如,如果使用的是 Microsoft Edge 浏览器,则需要在其官方页面上查找并下载与当前浏览器版本匹配的驱动程序[^3]。具体步骤如下: - 打开浏览器设置界面,确认当前浏览器的版本号。 - 访问 [Microsoft Edge WebDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/) 页面,选择与之相匹配的驱动文件进行下载。 - 将下载好的驱动放置到系统的 PATH 路径下或者指定路径供脚本调用。 --- #### Selenium 的基本使用流程 以下是利用 Selenium 实现简单网页浏览的一个示例代码片段: ```python from selenium import webdriver from selenium.webdriver.edge.service import Service as EdgeService # 设置Edge驱动服务对象 service = EdgeService(executable_path="path/to/msedgedriver") # 初始化WebDriver实例 driver = webdriver.Edge(service=service) try: # 打开目标网站 driver.get("http://www.example.com") # 获取页面标题 title = driver.title # 输出页面标题 print(f"Page Title is {title}") finally: # 关闭浏览器窗口 driver.quit() ``` 上述代码展示了如何加载一个简单的网页,并获取该网页的标题信息[^2]。 --- #### Selenium 的应用场景 Selenium 是一款非常强大的工具,广泛应用于以下几个领域: - 自动化测试:验证 Web 应用的功能是否正常运行。 - 数据抓取:模拟真实用户的交互行为从而提取所需的数据。 - UI/UX 验证:检查前端布局以及用户体验是否存在异常情况。 --- 问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Single_minde

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

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

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

打赏作者

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

抵扣说明:

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

余额充值