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文件的内容

你可能感兴趣的:(selenium自动化)