将csv或者txt里的数据通过selenium自动录入到网页系统里,输入一个数据操作完后自动输入下一个数据,依次遍历所有的数据,比如百度搜索,有十个词要搜索,输入第一个词搜出结果后再接着输入第二个继续搜,依次遍历十个,求大神赐教,给个思路或代码,谢谢
可以把测试数据放在类里,用TestNG的DataProvider注解
从效率上来看
还不如直接传参调用接口
使用csv或txt库读取文件中的数据,保存在一个列表中。
使用selenium库打开你需要录入数据的网页。
使用selenium库找到录入数据的输入框,并向其中输入列表中的第一个数据。
找到保存按钮,并点击保存。
使用循环遍历列表中的所有数据,重复步骤3和4直到所有数据都被录入。
import csv
from selenium import webdriver
# 读取csv中的数据
with open('data.csv', 'r') as f:
reader = csv.reader(f)
data_list = list(reader)
# 使用Firefox打开网页
driver = webdriver.Firefox()
driver.get('http://your_webpage_url')
# 找到输入框并录入数据
for data in data_list:
input_elem = driver.find_element_by_id('your_input_id')
input_elem.send_keys(data)
# 找到保存按钮并点击
save_btn = driver.find_element_by_id('save_button_id')
save_btn.click()
# 关闭浏览器
driver.quit()
总结:可以通过python+selenium界面自动化来实现,按步骤替代手工点击操作
当使用 Selenium 进行自动化录入数据时,您可以遵循以下思路和代码示例:
首先,确保已经安装了 Selenium 的 Python 绑定(selenium)和相应的浏览器驱动(如 ChromeDriver)。您可以使用 pip 命令来安装 selenium:pip install selenium。
导入所需的库和模块:
python
Copy code
import csv
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
读取 CSV 或 TXT 文件中的数据,并保存到一个列表中。这里以 CSV 文件为例:
python
Copy code
data = []
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
data.append(row[0]) # 假设数据在每行的第一列
初始化 Selenium WebDriver,并打开网页系统:
python
Copy code
driver = webdriver.Chrome() # 使用 Chrome 浏览器驱动
driver.get('https://www.baidu.com') # 打开百度搜索页面
遍历数据列表,依次录入到网页系统中的输入框,并执行相应的操作:
python
Copy code
for item in data:
search_box = driver.find_element_by_name('wd') # 根据页面元素定位输入框
search_box.clear() # 清空输入框内容
search_box.send_keys(item) # 输入数据
search_box.send_keys(Keys.RETURN) # 模拟按下回车键进行搜索
# 在这里可以添加等待页面加载完成的代码,以确保结果已经显示
# 执行其他需要的操作,比如提取搜索结果、保存数据等
# 进行下一个数据的录入
在代码的适当位置,添加必要的等待操作,以确保页面加载完成或元素可见。您可以使用 Selenium 提供的等待机制(WebDriverWait)来实现:
python
Copy code
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait = WebDriverWait(driver, 10) # 设置最大等待时间为 10 秒
element = wait.until(EC.presence_of_element_located((By.ID, 'search_result'))) # 替换为需要等待的元素定位条件
在代码的最后,记得关闭浏览器窗口和 WebDriver:
python
Copy code
driver.quit()
这是一个基本的示例代码,您可以根据实际需求进行修改和扩展。根据不同的网页系统,可能需要更具体的定位元素的方法。建议查阅 Selenium 和相关浏览器驱动的文档来获取更多信息和示例。
请注意,使用自动化工具进行网页操作时,请确保遵循相关网站的使用条款和政策,以确保合法合规的操作。