1. 程式人生 > >selenium+python做引數化,直接用列表、讀取txt、csv檔案內容

selenium+python做引數化,直接用列表、讀取txt、csv檔案內容

1、直接在指令碼中寫一個列表作為引數:

以百度輸入框中每次輸入不同字元為例:

from selenium import webdriver
search_text = ['python', '中文', 'text']
for text in search_text:
    driver = webdriver.Firefox()
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com")
    driver.find_element_by_id('kw').send_keys(text)
    driver.find_element_by_id('su').click()
    driver.quit()
    print (text)

依次開啟輸入框,輸入一個數據,關閉頁面,10秒後開啟第二個輸入框,輸入資料,再關閉重新開啟…
2、還是以百度為例,讀取txt檔案:
首先在指令碼的同級目錄新建一個txt檔案,每行輸入一個引數如
1
2
3

from selenium import webdriver

user_file = open('./user_info.txt', 'r')
lines = user_file.readlines()//讀取檔案
user_file.close()

for line in lines:
    driver = webdriver.Firefox()
    driver.implicitly_wait(10)//隱式等待
    driver.get("http://www.baidu.com")
    driver.find_element_by_id('kw').send_keys(line)
    driver.find_element_by_id('su').click()
    driver.quit()
    print (line)

效果和之前一樣,讀的是txt檔案的內容

3、還是以百度為例,讀取csv檔案
首先在指令碼同級目錄建立csv檔案,注意用wps或excel建立,直接改字尾名可能不是真正的csv檔案,再建立一個.py檔案,輸入以下內容

import csv                  //注意這裡匯入csv包
from selenium import webdriver
date = csv.reader(open('./info.csv', 'r'))//用csv.reader方法讀取檔案

for line in date:
    driver = webdriver.Firefox()
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com")
    driver.find_element_by_id('kw').send_keys(line)
    driver.find_element_by_id('su').click()
    driver.quit()
    print (line)

這次讀的是csv檔案的內容