硒:模拟人类打字行为



我想用Selenium模拟人类打字,我已经为此写了一个代码,但我不知道如何继续。

我想让我的代码将列表的'thing1'元素输入到变量elem webelement中,并将列表的第二个元素输入到变量elem2 webelement中。我不知道该怎么做。我已经尝试了很多方法,但代码没有工作,因为它应该。如有任何意见,不胜感激。

lst = ['thing1', 'thing2']
dt = webdriver.Firefox()
dt.get('some url')
elem = dt.find_element_by_id('some id')
elem2 = dt.find_element_by_id('some id 2')
#Breaking elements into keystrokes
for i in lst:
    for ii in i:
        time.sleep(random.randint(1.10))
        elem.send_keys(ii)
        #What to do from now on?

目前,您正在将这两个文本输入elem元素。

可以用元素+文本对来代替:

def human_type(element, text):
    for char in text:
        time.sleep(random.randint(1,10)) #fixed a . instead of a ,
        element.send_keys(char)

pairs = [(elem, "thing1"), (elem2, "thing2")]
for element, text in pairs:
    human_type(element, text)

您也可以使用zip():

创建pairs列表
lst = ['thing1', 'thing2']
elements = [elem, elem2]
pairs = zip(elements, lst)

最新更新