【selenim3+Python】界⾯⾃动化测试教程⼀、打开浏览器
selenium3⽀持基本上⽬前市⾯上最常见的⼏种浏览器,本⽂只写其中的chrome、firefox和ie的相关操作;
1、chrome浏览器
(1)、chromeDriver获取
(2)、启动chrome
基本启动⽅式代码如下:
import unittest
from selenium import webdriver
class Test(unittest.TestCase):
def testName(self):
driver = webdriver.Chrome("D:\\test\\driver\\")
<("www.baidu")
if __name__ =="__main__":
unittest.main()
当然chrome启动还可以加其他参数,譬如启动参数、添加扩展、添加代理等;
代码如下所⽰:
options = webdriver.ChromeOptions
'''1、添加启动参数'''
python入门教程appoptions.add_argument('--lang=zh_CN.UTF-8')
'''2、⾃定义位置'''
options.binary_location(binary_path="D:\\software\\")
driver = webdriver.Chrome(executable_path="D:\\test\\driver\\",chrome_options=options)
ubuntu linux系统安装教程<("www.baidu")
1、添加启动参数:
免费网站大黄免费入口羞羞答答如下为⼀些可⽤的chrome启动参数:
–user-data-dir=”[PATH]” 指定⽤户⽂件夹User Data路径,可以把书签这样的⽤户数据保存在系统分区以外的分区。
--disk-cache-dir=”[PATH]“ 指定缓存Cache路径
--disk-cache-size= 指定Cache⼤⼩,单位Byte
--first run 重置到初始状态,第⼀次运⾏
--incognito 隐⾝模式启动
--disable-javascript 禁⽤Javascript
--omnibox-popup-count=”num” 将地址栏弹出的提⽰菜单数量改为num个。
-
-user-agent=”xxxxxxxx” 修改HTTP请求头部的Agent字符串,可以通过about:version页⾯查看修改效果
--disable-plugins 禁⽌加载所有插件,可以增加速度。可以通过about:plugins页⾯查看效果
--disable-javascript 禁⽤JavaScript,如果觉得速度慢在加上这个
--disable-java 禁⽤java
--start-maximized 启动就最⼤化
--no-sandbox 取消沙盒模式
--single-process 单进程运⾏
--process-per-tab 每个标签使⽤单独进程
--process-per-site 每个站点使⽤单独进程
--in-process-plugins 插件不启⽤单独进程
--disable-popup-blocking 禁⽤弹出拦截
--disable-plugins 禁⽤插件
--disable-images 禁⽤图像
--incognito 启动进⼊隐⾝模式
--enable-udd-profiles 启⽤账户切换菜单
--proxy-pac-url 使⽤pac代理 [via 1/2]
--lang=zh-CN 设置语⾔为简体中⽂
--disk-cache-dir ⾃定义缓存⽬录
--disk-cache-size ⾃定义缓存最⼤值(单位byte)
--media-cache-size ⾃定义多媒体缓存最⼤值(单位byte)
--bookmark-menu 在⼯具栏增加⼀个书签按钮
--enable-sync 启⽤书签同步
-
-single-process 单进程运⾏Google Chrome
--start-maximized 启动Google Chrome就最⼤化
--disable-java 禁⽌Java
--no-sandbox ⾮沙盒模式运⾏
使⽤⽅法options.add_argument(value)来添加,如下⽰例:
1、使⽤⽤户⾃定义设置来启动;
options = webdriver.ChromeOptions
options.add_argument('--user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data')
其中user_name为本机使⽤⽤户名称,由于测试⽤chrome安装在默认位置,故路径为代码所⽰地址;此参数⽤于有时候我们使⽤chrome 浏览器做⾃动化时⼀些设置⽆法在代码中进⾏配置,故需要使⽤⾃定义设置的浏览器配置来启动的情况;
需要注意的事此时运⾏启动chrome浏览器需要把现有的chrome浏览器关掉才可以运⾏,不然会报错,否则则会启动⼀个全新的浏览器;
2、模拟iphone⼿机启动
options = webdriver.ChromeOptions
中文编程软件都有哪些options.add_argument('user-agent=\"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mo bile/13B143 Safari/601.1\"'
3、设置浏览器最⼤化
options = webdriver.ChromeOptions
options.add_argument('--start-maximized')
4、忽略证书报错
options = webdriver.ChromeOptions
options.add_argument("--test-type","--ignore-certificate-errors")
5、不打开浏览器界⾯,即headless模式
options = webdriver.ChromeOptions
options.add_argument("--headless")
2、设置chrome⼆进制⽂件位置
启动浏览器时也可以⾃⼰指定的位置,代码如下所⽰:
options = webdriver.ChromeOptions
options.binary_location(binary_path="D:\\software\\")
3、添加扩展应⽤
添加扩展输⼊参数为扩展⽂件路径
options = webdriver.ChromeOptions
options.add_extension("D:\\path\\to\\")
4、添加chrome设置
options = webdriver.ChromeOptions
prefs ={
'profile.default_content_setting_values':{
'images':2
}
}
options.add_experimental_option('prefs',prefs)
5、添加代理
PROXY ="proxy_host:proxy:port"
options = webdriver.ChromeOptions()
desired_capabilities = _capabilities()
desired_capabilities['proxy']={
"httpProxy":PROXY,
"ftpProxy":PROXY,
"sslProxy":PROXY,
"noProxy":None,
"proxyType":"MANUAL",
"class":"org.openqa.selenium.Proxy",
"autodetect":False
}
driver = webdriver.Chrome(desired_capabilities = desired_capabilities)
2、firefox浏览器
(1)、driver获取
(2)、启动firefox
简单启动⽅法为:
def testName(self):
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\")
<("www.baidu")
带其他参数的启动⽅法为:
1、带启动参数
def testName(self):
options = webdriver.FirefoxOptions;
options.add_argument("-devtools","-tray")
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\",firefox_options=options) ("www.baidu")
如下为⼀些常⽤的启动参数的说明:
2、设定启动exe⽂件路径
options = webdriver.FirefoxOptions;
binary ="D:\\software\\"
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\",firefox_binary=binary)
<("www.baidu")
3、headless模式启动
此模式为不打开浏览器的模式,即隐藏启动模式;
options = webdriver.FirefoxOptions;
options.headless(True)
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\",firefox_options=options,firefox_binary=binary)
<("www.baidu")
4、参数设置(不常⽤)
此处类似chrome浏览器的添加设置,使⽤基本⽅法如下:
options = webdriver.FirefoxOptions
options.headless(True)
options.set_preference("browser.download.folderList",2)
options.set_preference("browser.download.dir","d:\\java")
binary ="D:\\software\\"
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\",firefox_options=options,firefox_binary=binary)
<("www.baidu")
上⾯例⼦中为设定⽕狐浏览器⾃动下载⽬录的设置;
5、添加⽤户⾃定义设置
此处可以添加⽤户⾃定义的设置,基本使⽤⽅法如下:
def testName(self):
options = webdriver.FirefoxOptions
options.headless(True)
options.profile(webdriver.FirefoxProfile("C:\\Program Files\\Mozilla Firefox Formal\\profile"))
binary ="D:\\software\\"
driver = webdriver.Firefox(executable_path="D:\\test\\driver\\",firefox_options=options,firefox_binary=binary)
<("www.baidu")
制作profile的⽅法如下:
1、关闭所有Filefox浏览窗—》运⾏Firefox Manager,点击windows“开始”–>“运⾏”,然后在输⼊框输⼊ -ProfileManager,点击“确定”按钮-》创建⼀个新的Profile,只需点击“创建配置⽂件”按钮,在接着出现的向导窗⼝⾥输⼊配置⽂件名;
2、现在就创建了⼀个独⽴的Firefox Profile配置⽂件,启动Profile配置⽂件的Firefox;
3、新建⼀个bat⽂件,输⼊命令⾏
set MOZ_NO_REMOTE=1
start “” “C:\Program Files\Mozilla Firefox ” -P firefoxprofile⽂件名;
3、在新打开的浏览器中,你可以随意设置⽕狐,这些设置都保存在你的个性化firefoxprofile中;
6、添加代理
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdrivermon.proxy import Proxy, ProxyType
my_proxy = “localhost:8080”
'''此处key值不⽌这⼏个,具体看⽂档'''
idea注册码 永久proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': my_proxy,
'noProxy':''
})
driver = webdriver.Firefox(proxy = proxy, executable_path="C:/")
driver.delete_all_cookies()
driver.maximize_window()
<("/ip")
print(driver.page_source)
driver.quit()
3、ie浏览器
(1)、driver获取
(2)、启动ie浏览器
基本启动⽅法为:
driver = webdriver.Ie(executable_path="D:\\test\\driver\\")
<("www.baidu")
1、带启动参数
def testName(self):
options = webdriver.IeOptions
options.headless(True)
driver = webdriver.Ie(executable_path="D:\\test\\driver\\",ie_options=options) ("www.baidu")
2、headless模式启动木马克星
此处于firefox还有chrome的⽤法相同,设置headless为True即可;
3、添加代理
添加代理也于firefox相同;
⼆、浏览器关闭和基础操作
1、浏览器关闭
代码如下:
def testName(self):
options = webdriver.IeOptions
driver = webdriver.Ie(executable_path="D:\\test\\driver\\",ie_options=options) ("www.baidu")
driver.close()
driver.quit()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论