查看浏览器相关信息
from selenium import webdriver
driver=webdriver.Chrome()
print(driver.capabilities["version"]) #浏览器版本
print(driver.capabilities["platform"]) #浏览器运行平台
print(driver.capabilities["browserName"]) #浏览器名称
数据驱动
基本用法
from openpyxl import load_workbook
#打开一个xlsx文件
wb=load_workbook('test.xlsx')
#获取一张表(一)
# sheet1=wb.get_sheet_by_name('Sheet1')
#获取一张表(二)
# sheet1=wb['Sheet1']
#获取一张表(三)
sheet1=wb.worksheets[0]
#表格中输入内容
# sheet1['A1']='TEST'
#保存(修改之后需要保存,否则修改无效)
# wb.save('test.xlsx')
#打印表名
# print(sheet1.title)
#读取一整行(传入行号)
# print(sheet1[1])
#读取某一列
# print(sheet1['A'])
#读取某一格的值
# print(sheet1['A1'])
# print(sheet1['A1'].value)
#获取最大行数
# print(sheet1.max_row)
#获取最大列数
# print(sheet1.max_column)
# print(sheet1.rows)
# print(sheet1.columns)
# for row in sheet1.rows:
# for cell in row:
# print(cell.value,end='\t')
# print()
# for column in sheet1.columns:
# for cell in column:
# print(cell.value, end='\t')
# print()
EXECL方法
from openpyxl import load_workbook
class ExcelMethod():
def readExcel(self,filename):
self.filename=filename
excel_list=[]
self.wb=load_workbook(self.filename)
self.sheet=self.wb.worksheets[0]
for row in self.sheet.rows:
son_list=[]
for cell in row:
son_list.append(cell.value)
excel_list.append(son_list)
return excel_list[1:]
if __name__=="__main__":
print(ExcelMethod().readExcel("test.xlsx"))
执行测试用例
import unittest
from selenium import webdriver
from cases0303.excel_method import ExcelMethod
from time import sleep
class Excele_Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver=webdriver.Chrome()
cls.driver.get('https://www.baidu.com')
cls.driver.maximize_window()
cls.excelmethod=ExcelMethod()
cls.user_list=cls.excelmethod.readExcel("test.xlsx")
def test_search(self):
for i in range(0,len(self.user_list)):
searchbox=self.driver.find_element_by_id('kw')
searchbox.clear()
searchbox.send_keys(self.user_list[i][1])
sleep(1)
self.driver.find_element_by_id('su').click()
sleep(1)
self.assertTrue(self.user_list[i][2] in self.driver.page_source)
print(self.driver.page_source)
@classmethod
def tearDownClass(cls):
cls.driver.quit()
if __name__ == "__main__":
unittest.main()
自带CSV模块
import csv
# # 读取csv第一种方式
# csvfile=open('data.csv','r')
# reader=csv.reader(csvfile)
# print(reader)
# data=[]
# for row in reader:
# print(row)
# data.append(row)
# print(data)
# print(data[0][0])
#读取csv第二种方式
# data=[]
# with open('data.csv','r') as csvfile:
# reader=csv.reader(csvfile)
# for row in reader:
# print(row)
# data.append(row)
data=[['test1', '123456'], ['test2', '123457'], ['test3', '123458'], ['test4', '123459']]
csvfile=open('data.csv','w') #csv写入文件,默认会加换行
# csvfile=open('data.csv','w',newline='')# 加 newline='' 取消换行
writer=csv.writer(csvfile)
for i in range(len(data)):
writer.writerow(data[i])
#字典写入
# dic={'zhangsan':123456,'lisi':'222222','wangwu':'3333'}
# csvfile=open('data.csv','w',newline='')
# writer=csv.writer(csvfile)
# for key in dic:
# writer.writerow([key,dic[key]])
COOKIE相关操作
from time import sleep
from selenium import webdriver
# 添加cookie
# driver.add_cookie({'name':'WebTSET001',"value":"1000000aaa"})
# 获取本网站所有本地cookies
# print(driver.get_cookies())
# for cookie in driver.get_cookies():
# print("%s-->%s"%(cookie["name"],cookie["value"]))
# get_cookie(name) 获取指定cookie
# 删除cookie的两种方法
# 第一种,通过cookie的name属性,删除name值为aaa的cookie信息
# driver.delete_cookie('aaa')
# 第二种,一次性删除全部cookie信息
# driver.delete_all_cookies()
# 百度登录实例
driver=webdriver.Firefox()
driver.get("https://www.baidu.com")
driver.add_cookie({'name':'BDUSS','value':'VHVGI2VkkxeFRDcFI4NDMwZmlHSDZmR2lBd01ZRERNZkZzc1FnVn5OcmNRcUJjQVFBQUFBJCQAAAAAAAAAAAEAAADpadEDbDg5MzM1MjYwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy1eFzctXhcMF'})
sleep(3)
driver.refresh()
sleep(2)
driver.quit()
配置个人资料
from selenium import webdriver
from time import sleep
'''
注意:需要保证没有chrome浏览器正在打开,否则运行报错
'''
# 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘\Default’)
profile_directory = r'--user-data-dir=C:\Users\Maye\AppData\Local\Google\Chrome\User Data'
# 加载配置数据
option = webdriver.ChromeOptions()
option.add_argument(profile_directory)
# 启动浏览器配置
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://www.baidu.com')
from selenium import webdriver
import time
'''
cmd中查看火狐配置文件:firefox.exe -p -no-remote
通过创建配置文件,可以看到配置文件的存储路径
firefox浏览器:帮助---故障排除信息---获取配置文件夹路径
可配置项:about:config
'''
# 指定配置文件
profile_path=r'C:\Users\Maye\AppData\Local\Mozilla\Firefox\Profiles\ns286msp.default'
# 加载自定义配置文件到FirefoxProfile实例中
profile=webdriver.FirefoxProfile(profile_path)
driver=webdriver.Firefox(profile)
driver.get('http://www.baidu.com')
# time.sleep(5)