selenium基本使用与注意事项

#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()

1、首先注意事项

   有时页面还没加载出来,脚本找不到元素,就会报错,所以添加思考时间是非常必要的,切记。

   进入一个页面后,简单实用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 有区别,后者主要是查找整个页面相同的函数,即可迭代。

posted on 2014-06-06 20:05  小与  阅读(378)  评论(0)    收藏  举报

导航