Selenium Send_keys预计1个参数得到10000

时间:2017-12-14 05:59:08

标签: python-2.7 selenium itertools

我正在尝试使用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

如果您有任何改进我的代码的建议,请与我们联系!

1 个答案:

答案 0 :(得分:0)

set()应该接受可迭代对象,所以只需传递列表而不是解压缩它:

def dishack():
    for f in sorted(set(redone)):
        discount.send_keys(f)
        ....