首页 程序猿 软件测试 浏览内容
使用Selenium基本技巧与注意事项
#coding=utf-8from selenium import webdriverimport timeimport randomdriver = webdriver.Chrome()driver.get('url')driver.find_element_by_name('tb_uname').send_keys('username')driver.find_element_by_name('tb_pwd').send_keys('password')driver.find_element_by_name('tb_code').send_keys('')time.sleep(10)driver.find_element_by_name('btnSave').click()driver.find_element_by_link_text('xxxx').click()driver.find_element_by_link_text('yyyy').click()length = len(driver.find_element_by_xpath("//div[@id='list']").find_elements_by_link_text('编辑'))for i in range(0,length):l = random.randint(1,9)editions = driver.find_element_by_xpath("//div[@id='list']").find_elements_by_link_text('编辑')edit = editions[i]edit.click()driver.find_element_by_id('txtnewstype3').click()driver.find_element_by_xpath('//ul[@id="typeoption3"]/li[%d]'%l).click()time.sleep(1)driver.find_element_by_id('ckhead').click()time.sleep(1)driver.find_element_by_id('ckpush').click()time.sleep(1)driver.find_element_by_id('btnsave').click()time.sleep(1)driver.switch_to_alert().accept()driver.back()time.sleep(1)driver.find_element_by_xpath("//div[@id='list']").find_element_by_link_text('删除').click()
注意事项:
有时页面还没加载出来,脚本找不到元素,就会报错,所以添加思考时间是非常必要的,切记。
进入一个页面后,简单实用back()函数,再进行查找元素时,会报错,所以要将不断来回查找的元素放进循环体内
driver.switch_to_alert().accept() 处理弹窗"接受"作用
l = random.randint(1,9) 随机函数,根据用例要求进行实用
'[%d]'%l 直白的理解就是将后面 l 的值传递给%d(整数)
find_element_by_link_text 和 find_elements_by_link_text 有区别,后者主要是查找整个页面相同的函数,即可迭代。