Python+Selenium+Chrome自动化测试-浏览器上模拟手机模式(纯小白版,简单、完整)
以下是使用Python和Selenium打开谷歌浏览器访问百度并尝试自动登录百度的代码示例。1、已安装python环境和PyCharm。3、已安装Chrome与Webdriver。2、已安装Selenium库。3、定位元素详细操作步骤。
·
以下是使用Python和Selenium打开谷歌浏览器访问百度并尝试自动登录百度的代码示例
一、前置条件
1、已安装python环境和PyCharm
2、已安装Selenium库
pip install selenium
3、已安装Chrome与Webdriver
二、实现代码
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time
options = webdriver.ChromeOptions()#创建一个ChromeOptions对象。在Selenium中,webdriverChromeOptions()用于设置Chrome浏览器的启动选项。可以通过调用options对象的各种方法(如add_argument、add_experimental_option等)来设置具体的启动参数。
options.add_argument("--auto-open-devtools-for-tabs")#配置WebDriver的选项,以自动为标签打开开发者工具
#options.add_argument('--headless')#以无头模式运行,不会打开浏览器窗口,在后台运行
options.add_argument('--disable‐gpu')#禁用Chrome浏览器中的GPU加速功能
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone SE'})#启用移动设备模拟功能,并将模拟的设备设置为“iPhone SE”
driver=webdriver.Chrome(options=options)#初始化一个ChromeDriver对象
driver.maximize_window()#将浏览器窗口最大化
action = ActionChains(driver)#用于模拟鼠标和键盘的操作
driver.get('https://www.baidu.com')
time.sleep(1.5)
driver.find_element(By.XPATH,'//*[@id="personal-center"]/div[2]/div[1]/div').click()
driver.find_element(By.XPATH,'//*[@id="personal-center"]/div[2]/div[2]/div/div[1]/div[2]/div/img').click()
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/article[1]/form/section/div/input').send_keys('13100009001')#这里的账号可以替换成自己的百度登录账号
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/div[1]/div/div[1]/button').click()
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/article[1]/form/button').click()
time.sleep(10)
三、代码解析
1、options=WebDriver.ChromeOptions()
1、options=WebDriver.ChromeOptions()#使用Selenium库配置Chrome浏览器的一种方式
WebDriver.ChromeOptions()可以设置各种参数来控制浏览器的行为
例如:(1)无头模式:参数--headless.无头模式不会打开浏览器窗口,在后台运行。
(2)隐身模式:参数--incognito。隐身模式让浏览器以隐身模式启动,不保存任何浏览历史或cookie。
(3)页面加载策略:设置page_load_strategy='eager'。可以加速页面的加载速度。
(4)设置用户代理:参数user-agent。可以自定义请求头中的User-Agent,模拟不同的浏览器或设备。
(5)最大化窗口:参数start-maximized。可以使浏览器启动时最大化。
(6)禁用GPU加速:参数--disable-gpu。禁用GPU加速。
(7)禁用自动化标识:参数excludeSwitches=['enable-automation']。可以去除浏览器上的自动化标识
(8)设置下载目录和图片加载:参数prefs。设置浏览器的下载目录和是否加载图片等。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 无头模式
options.add_argument('--incognito') # 隐身模式
options.add_argument('--disable-gpu') # 禁用GPU加速
options.add_argument('start-maximized') # 最大化窗口
options.add_argument('window-size=1280x1024') # 设置窗口大小
options.add_experimental_option('excludeSwitches', ['enable-automation']) # 去除自动化标识
options.page_load_strategy = 'eager' # 页面加载策略设置为eager
driver = webdriver.Chrome(options=options)
2、driver=webdriver.Chrome()
2、driver=webdriver.Chrome()#初始化一个ChromeDriver对象,用于控制Chrome浏览器。
创建WebDriver实例后,可以使用它来控制浏览器,例如打开网页、定位元素、执行操作等。
例如:driver.find_element()定位元素。
3、定位元素详细操作步骤
以XPTH为例:
更多推荐
所有评论(0)