1.创建Chrome浏览器配置项
'''
Chrome浏览器的配置项
'''
from time import sleep
from selenium import webdriver
def options():
options = webdriver.ChromeOptions()
1.添加试验性质的配置项
2.页面加载策略
3.浏览器最大化
options.add_argument('start-maximized')
4.指定位置启动浏览器
5.设置窗体的启动大小
6.去掉浏览器提示自动化黄条
options.add_experimental_option('excludeSwitches',['enable-automation','enable-logging'])
7.无头模式
8.读取本地缓存
9.去掉账号密码弹出框
prefs = dict()
prefs['credentials_enable_service'] = False
prefs['profile.password_manager_enable'] = False
options.add_experimental_option("prefs", prefs)
10.隐身模式无法调用selenium中的switch_to.new_window()函数
11.去掉控制台多余信息
12.去掉控制台多余信息手段二
options.add_argument('--log_level=3')
options.add_argument('--disable-gpu')
options.add_argument('--ignore-certificate-errors')
13.return这一步很重要
return options
14.执行,调用options
from time import sleep
from selenium import webdriver
from class23 import chrome_options
if __name__ == '__main__':
driver = webdriver.Chrome(options = chrome_options.options() )
driver.get('http://www.baidu.com')
sleep(3)
print(driver.title)
2.商品添加购物车作业
'''
实现登录,搜索商品,将商品添加购物车,并进行断言
在实现整个自动化流程的时候,可以去思考如何简化你的操作步骤,注意,核心的业务流程不应该省略就不省略。
在测试执行的时候,流程的每一个步骤是你们已经知道了的。
'''
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from class23 import chrome_options
driver = webdriver.Chrome(options=chrome_options.options())
driver.maximize_window()
driver.implicitly_wait(5)
driver.get('http://39.98.138.157/shopxo/index.php?s=/index/user/logininfo.html')
driver.find_element('name','accounts').send_keys('sixiaoyou')
driver.find_element('name','pwd').send_keys('xxx')
driver.find_element('xpath','//button[text()="登录"]').click()
WebDriverWait(driver,10,0.5).until(lambda el:driver.find_element('link text','退出'),message='元素获取失败')
print('登录成功')
driver.get('http://39.98.138.157/shopxo/index.php?s=/index/goods/index/id/2.html')
driver.find_element('xpath','//li[@data-value="套餐一"]').click()
sleep(1)
driver.find_element('xpath','//li[@data-value="金色"]').click()
sleep(1)
driver.find_element('xpath','//li[@data-value="32G"]').click()
el = driver.find_element('id','text_box')
el.clear()
el.send_keys(20)
driver.find_element('xpath','//button[@title="加入购物车"]').click()
text = WebDriverWait(driver,10,0.5).until(lambda el:driver.find_element('xpath','//p[text()="加入成功"]'),message='元素获取失败').text
assert '加入成功' == text,'预期结果与{}不一致'.format(text)
driver.quit()