我正在尝试使用Itertools产品生成大量字符并逐个将它们发送到表单,测试每个字符以查看它是否会抛出错误。
我遇到了这个问题并且认为是因为send_keys因为我可以打印f并且它会在一行上打印但是,send_keys会抛出错误
result = []
redone = [''.join(i) for i in itertools.product(printable, repeat = 2)]
result.append(redone)
def dishack():
for f in sorted(set(*redone)):
discount.send_keys(f)
driver.find_element_by_class_name('classname').click()
time.sleep(5)
try:
disterror = driver.find_element_by_xpath('XPATH')
print 'Yes'
except:
print 'nope'
这是运行代码时收到的错误
for f in sorted(set(*redone)):
TypeError: set expected at most 1 arguments, got 10000
如果您有任何改进我的代码的建议,请与我们联系!
答案 0 :(得分:0)
set()
应该接受可迭代对象,所以只需传递列表而不是解压缩它:
def dishack():
for f in sorted(set(redone)):
discount.send_keys(f)
....