selenium入门编程总结学习于龙腾)

"""
编程题
打开 http://ip/ecshop/wwwroot/admin/privilege.php?act=login
登录(admin/123456)
点击商品管理-》添加新商品-》输入商品名称:dell电脑、分类:电脑、价格:3999,点击添加
断言是否添加成功page_source有没有添加商品成功。
"""


from selenium import webdriver
from time import sleep

# 启动Chrome
# driver = webdriver.Chrome()
driver = webdriver.Firefox() # 该处修改,输入商品名后,概率性出现输入文字后,又自动被清空。验证是否是浏览器影响
# 最大化窗口
driver.maximize_window()

driver.get('http://ip/newecshop/admin/privilege.php?act=login')
driver.find_element('name', 'username').send_keys('admin')
driver.find_element('name', 'password').send_keys('123456')
driver.find_element('name', 'remember').click()
driver.find_element('class name', 'button2').click()

sleep(0.1)
# driver.save_screenshot(r'F:1.png')
driver.switch_to.frame('header-frame') # 切换到顶部frame
exit_text = driver.find_elements('link text', '退出')
# assert u'退出' in exit_text
if len(exit_text) > 0: # 判断是否登录成功
print('登陆成功!!!')

driver.switch_to.parent_frame() # 切换到父类frame
driver.switch_to.frame('menu_frame') # 切换到商品列表所在frame

driver.find_element('link text', '商品管理').click() # 点击商品管理
sleep(0.1)
driver.find_element('link text', '添加新商品').click() # 添加新商品

driver.switch_to.parent_frame() # 切换到父类frame
driver.switch_to.frame('main_frame') # 切换到添加商品详情页面所在frame
sleep(0.1)
newsGoods_list = driver.find_elements('id', 'search_id')
if len(newsGoods_list) > 0: # 判断是否登录成功
print('进入>>管理中心- 添加新商品')

sleep(3)
driver.find_element('name', 'goods_name').send_keys('dell电脑') # 输入商品名称:dell电脑

sleep(1)
driver.find_element('id', 'cat_name').send_keys('电脑') # input框只能send_key()
du_box = driver.find_elements('class name', 'level0')
print(len(du_box))
du_box[-1].click() # 该位置非select下拉框,不能直接选择,且元素ID是动态变化的,所有需要先部分搜索再取列表选择
# sleep(3) 该下拉框有毒
# driver.find_element('xpath', '/html/body/div[2]/div[2]/form/table[1]/tbody/tr[3]/td[2]/div/ul/li[25]/a/span[2]').click()


sleep(2) # 先清空默认值0,再输入价格
driver.find_element('name', 'shop_price').clear() # 输入本地售价
driver.find_element('name', 'shop_price').send_keys('3999')
driver.find_element('id', 'goods_info_submit').click() # 保存

# 判断页面文字提示
# add_suc = driver.find_element('css selector', 'body > div.list-div > div > table > tbody > tr:nth-child(1) > td:nth-child(2)').text
# print(add_suc)
# assert u'添加商品成功。' in add_suc

sleep(1)
# 判断源码中是否包含添加商品成功
page_sc = driver.page_source
assert u'添加商品成功。' in page_sc


sleep(5) # 缓口气
driver.quit()

原文地址:https://www.cnblogs.com/guobaozhu/p/13260124.html