我在txt文件中有太多的用户名和密码,我想在测试脚本中使用它们,许多密码包含(:),错误是(ValueError:太多的值无法解包(预期2))解决此问题以及如何从txt文件获取数据并在测试中使用它们。
txt看起来像这样
user1:pass1
user2:pass2
user3:password
username5:password6
testit:passtest
等
我尝试了许多代码来读取txt文件并使用它来登录时没有运气。
登录执行一些任务,然后注销并使用其余帐户重复该过程
from selenium import webdriver
from time import sleep
from getpass import getpass
import time
#login username & password
with open('accounts.txt', 'r') as file:
for line in file:
user, password = line.split(':')
#define what browser & website
browser = webdriver.Firefox()
browser.get(('https://example.com'))
elem = browser.find_element_by_xpath("//*[@id='loginRegisterTabs']/ul/li[1]")
elem.click()
emailelement = browser.find_element_by_xpath("//*[@id='loginForm']/div[1]/div/input")
emailelement.send_keys('user')
passelement = browser.find_element_by_xpath("//*[@id='loginForm']/div[2]/div/input")
passelement.send_keys('password')
elem = browser.find_element_by_xpath("//*[@id='loginForm']/p/button[1]/span")
elem.click()
#server login
time.sleep(1)
elem = browser.find_element_by_xpath("//*[@id='joinGame']/button/span[1]")
elem.click()
#Active Daily
time.sleep(1)
elem = browser.find_element_by_xpath("//*[@id='multiPopup']/div[2]/div[2]/a")
elem.click()
#menu
time.sleep(4)
browser.switch_to.window(browser.window_handles[1])
elem = browser.find_element_by_xpath("//*//*[@id='GF_toolbar']/ul/li[5]/a")
elem.click()
#Vmod Menu
time.sleep(2)
elem = browser.find_element_by_xpath("//*[@id='vacationMode']/div[1]/div/a")
elem.click()
#Active Vmod
time.sleep(2)
elem = browser.find_element_by_xpath("//*[@id='options_umod_confirm']/div[2]/div[2]/div[2]/div[1]/div[1]/a")
elem.click()
答案 0 :(得分:2)
限制用户/密码字符串中的拆分数量:
user, password = line.split(':', 1)
将所有内容移动到for
循环下的这一行下(在文件行上重复)