#coding=utf-8
from selenium import webdriver
import time
import random
driver = 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 有区别,后者主要是查找整个页面相同的函数,即可迭代。
最新内容请见作者的GitHub页:http://qaseven.github.io/