Selenium自动化教程02:浏览器options配置及常用的操作方法

1.配置Chrome浏览器的选项

# @Author : 小红牛
# 微信公众号:WdPython
options = webdriver.ChromeOptions()  # 创建配置对象
options.add_argument('lang=zh_CN.UTF-8')  # 设置中文
options.add_argument('--headless')  # 无头参数,浏览器隐藏在后台运行
options.add_argument('--disable-gpu')  # 禁用GPU加速
options.add_argument('--start-maximized')  # 浏览器最大化
options.add_argument('--window-size=1920x1024')  # 设置浏览器分辨率(窗口大小)
options.add_argument('--user-agent=""')  # 设置请求头的User-Agent
options.add_argument('--incognito')  # 隐身模式(无痕模式)
options.add_argument(f'--proxy-server={proxy}')  # 添加IP代理 proxy=f"http://{ip}:{port}"
# 关闭'Chrome正受到,自动测试软件的控制'的提示
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2}) # 禁用图片加载
driver.set_page_load_timeout(20)  # 设置连接超时20秒
options.add_experimental_option('detach', True)  # 不自动关闭浏览器

driver = webdriver.Chrome(options=options)  # 创建浏览器对象
driver.get('https://www.baidu.com')

2.修改浏览器窗口大小,set_window_size() 方法来修改浏览器窗口的大小,maximize_window() 方法可以实现浏览器全屏显示,get_window_size()获取网页的窗口大小。

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
# 访问百度首页
driver.get('https://www.baidu.com')
# 获取网页的窗口大小
print(driver.get_window_size())  # {'width': 1050, 'height': 708}
# 1.设置浏览器的宽高为:600x800
driver.set_window_size(600, 800)
time.sleep(3)
# 2.网页界面最大化
driver.maximize_window()
time.sleep(3)
# 关闭网页
driver.quit()

3.浏览器前进&后退,webdriver 提供 back 和 forward 方法来实现页面的后退与前进。下面我们 ①进入百度首页,②打开百度图片网,③back 返回百度首页,④ forward 前进到百度图片网。为了看到自动化的过程,可以加延时处理,driver.title显示网页的标题。

import time
from selenium import webdriver

driver = webdriver.Chrome()
# 1.访问百度首页
driver.get('https://www.baidu.com/')
print(driver.title)  # 百度一下,你就知道
time.sleep(2)
# 2.访问百度图片,主页
driver.get('https://image.baidu.com/')
print(driver.title)  # 百度图片-发现多彩世界
time.sleep(2)
# 3.返回(后退)到百度首页
driver.back()
time.sleep(2)
# 4.前进到百度图片网
driver.forward()

大家会发现第2次 get() 打开新页面时,会在原来的页面打开,而不是在新标签中打开。如果想的话,可以执行 js 语句来打开新的标签。

js = "window.open('https://image.baidu.com/')"
driver.execute_script(js)

4.常用的浏览器操作方法,自己敲代码练习一下,这里就不一一演示了。

# @Author : 小红牛
# 微信公众号:WdPython
driver.maximize_window()  # 最大化浏览器
driver.set_window_size(w,h)  # 设置浏览器大小 单位像素
driver.set_window_position(x,y)  # 设置浏览器位置
driver.back()  # 后退操作
driver.forward()  # 前进操作
driver.refresh()  # 刷新操作
driver.close()  # 关闭当前主窗口(主窗口:默认启动那个界面,就是主窗口)
driver.quit()  # 关闭driver对象启动的全部页面
driver.get()  #要打开的网址
driver.title  # 获取当前页面title信息
driver.current_url  # 获取当前页面url信息
# 截图预览
driver.get_screenshot_as_file('截图.png')
# 浏览器名称
driver.name
#  网页源码
driver.page_source

5.常见元素的基本方法:在百度先输入李白,清空李白,输入杜甫,最后点击查询按钮。在这里插入图片描述

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')

# 1.查找输入框,并输入关键词李白
input = driver.find_element(By.ID, 'kw')
input.send_keys('李白')
time.sleep(1)
# 2.清除李白,输入杜甫
input.clear()
time.sleep(1)
input.send_keys('杜甫')
button = driver.find_element(By.ID, 'su')
button.click()
# 输出按钮的大小
print(button.size)  # {'height': 40, 'width': 112}
print(button.is_displayed())  # True
# 输出value属性的值
print(button.get_attribute('value'))  # 百度一下
time.sleep(5)
# 关闭网页
driver.quit()

完毕!!感谢您的收看

----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具
在这里插入图片描述

Air游戏 LayaAir引擎提供了一个Air项目模板,用于开发AIR项目。因此,使用Selenium自动化测试LayaAir引擎开发的Air游戏可以通过以下步骤进行: 1. 安装Selenium WebDriver Selenium WebDriver是Selenium的核心组件,它提供了一个API,用于与浏览器进行交互。您可以从Selenium官方网站上下载和安装WebDriver。 2. 安装Air应用程序 您需要安装Air应用程序,以便Selenium能够与应用程序交互。您可以从Adobe官方网站上下载和安装Air应用程序。 3. 编写测试脚本 您需要编写测试脚本,以便Selenium能够模拟用户与Air应用程序的交互。您可以使用任何支持Selenium WebDriver的编程语言编写测试脚本。 以下是一个使用Java编写的测试脚本示例: ```java import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; public class AirGameTest { public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver", "path/to/chromedriver"); ChromeOptions options = new ChromeOptions(); options.setBinary("path/to/air/application"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); WebDriver driver = new RemoteWebDriver(capabilities); driver.get("http://localhost:8080/"); // Perform actions on the Air game driver.quit(); } } ``` 在这个示例中,我们使用Chrome浏览器作为WebDriver,并将Air应用程序作为ChromeOptions的二进制文件传递给它。然后我们创建一个RemoteWebDriver,并将其传递给DesiredCapabilities。最后,我们打开Air游戏的URL并执行一些操作。最后,我们退出WebDriver。 4. 运行测试脚本 运行测试脚本,Selenium将启动Chrome浏览器并打开Air游戏。您可以在测试脚本中执行任何操作,例如单击按钮或输入文本。Selenium将模拟用户的操作,并将它们发送到Air游戏。您可以使用Selenium的断言方法来验证游戏的行为是否符合预期。 总之,使用Selenium自动化测试LayaAir引擎开发的Air游戏需要一些特殊的步骤,但是这些步骤并不难。如果您熟悉Selenium WebDriver和Air应用程序的基础知识,那么您将能够快速上手。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值