python selenium chrome 测试

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from time import sleep

def  search(driver, main_material_code):
    autocompelete_input(driver, "vwMaterialForStandBy2_MainMaterial_search1", main_material_code)    
    btnfind = driver.find_element_by_link_text("查询")    
    btnfind.click() 
    

def autocompelete_input(cd, name, input_str):
    iu_main = cd.find_element_by_id(name)    
    iu = iu_main.find_element(by=By.CLASS_NAME,value="mini-buttonedit-input")    
    iu.clear()
    iu.send_keys(input_str)
    sleep(1)
    iu.send_keys(Keys.ENTER)
    iu.send_keys(Keys.ENTER)

def grid_input(cd, str):            
    zlist = cd.find_elements_by_class_name("mini-grid-editwrap")
    print("数量:")
    print(len(zlist))
    zlast_el = len(zlist) - 1
    input = zlist[zlast_el].find_element(by=By.CLASS_NAME ,value="mini-buttonedit-input")
    input.send_keys(str)
    sleep(1)
    input.send_keys(Keys.ENTER)
    input.send_keys(Keys.ENTER)
          


options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
options.add_argument("disable-infobars")
 
driver = webdriver.Chrome(chrome_options=options)
driver.implicitly_wait(30)
#driver.maximize_window()
driver.get("http://192.168.0.1")
 
 
driver.find_element_by_id("txtName").send_keys("test")
driver.find_element_by_id("txtPassword").send_keys("123")
driver.find_element_by_id("BtnLogin").click()
 
 
driver.find_element_by_link_text("data").click()
driver.find_element_by_link_text("backup").click()

sleep(4)


frame = driver.find_element(by="id",value="main")
driver.switch_to.frame(frame)
product_list = ["F-1", "F-2"]
material_list = ["E-1", "E-2", "E-3"]


btnfind = driver.find_element_by_link_text("查询")
btndel = driver.find_element_by_link_text("删除")



driver.find_element_by_id("collapse_search_button").click()



search(driver, material_list[0])

sleep(2)

rows = driver.execute_script("return vwMaterialForStandBy_datagrid2.data.length;")

sleep(1)
print("行数:" + str(rows))
if rows >0 :
    driver.execute_script("vwMaterialForStandBy_datagrid2.selectAll(true);")       
    sleep(1)
    btndel.click()
    sleep(1)
    driver.find_element_by_class_name("mini-messagebox-buttons").find_element(by=By.XPATH ,value="//*[text()='确定']").click()                           
    print("删除了")


driver.find_element_by_id("vwMaterialForStandBy2_btnadd").click()
sleep(1)
btnadd = driver.find_element_by_id("btnadd_productcode_item")
for item in product_list:
    btnadd.click()
    grid_input(driver, item)


sleep(2)

btnadd = driver.find_element_by_id("btnadd_material_item")
for item in material_list:
    btnadd.click()
    grid_input(driver,item)

sleep(2)

driver.find_element_by_id("BatchAddWindow").find_element(by=By.LINK_TEXT ,value="保存").click()


#driver.quit()

  

posted @ 2018-01-23 11:03  Ender.Lu  阅读(221)  评论(0编辑  收藏  举报