【问题标题】:Threading Using Python For Instagram BOT使用 Python 进行 Instagram BOT 线程
【发布时间】:2021-04-09 20:29:27
【问题描述】:

我正在尝试使用 selenium 制作一个可以同时使用多个帐户的 Instagram BOT。因此,我需要使用线程。我有 2 个帐户,用户名和密码保存在一个文本文件中。问题是,我无法同时登录两个帐户。我必须对代码进行哪些更改才能做到这一点?

如果我的解释有任何错误,请原谅我......

from selenium import webdriver
from time import sleep
import threading

def functions():
    a = open('users.txt','r').readlines()
    for i in a:
        info = i.split()
        driver = webdriver.Firefox()
        driver.get('https://instagram.com')
        sleep(5)
        driver.find_element_by_name('username').send_keys(info[0])
        driver.find_element_by_name('password').send_keys(info[1])
        driver.find_element_by_class_name('sqdOP.L3NKy.y3zKF').click()


for _ in range(2):
    t = threading.Thread(target=functions)
    t.start()

【问题讨论】:

    标签: python-3.x selenium python-multithreading


    【解决方案1】:

    你的代码的一个主要问题可能是每个线程读取整个文件,如果你是一个有两行的文件,它将打开四个浏览器。

    另一个问题是你在点击登录按钮之前,你应该关闭cookie弹出窗口。

    请注意,要启用登录按钮,密码长度必须至少为 6 个字符。

    以下是解决方案的示例:

    from selenium import webdriver
    from time import sleep
    from concurrent.futures import ThreadPoolExecutor
    
    
    def functions(line):
        info = line.split()
        driver = webdriver.Firefox()
        driver.get('https://instagram.com')
        sleep(5)
        driver.find_element_by_class_name("mt3GC").find_element_by_class_name("aOOlW.bIiDR").click()  # close cookie
        driver.find_element_by_name('username').send_keys(info[0])
        driver.find_element_by_name('password').send_keys(info[1])
        driver.find_element_by_class_name('sqdOP.L3NKy.y3zKF').click()
    
    if __name__ == '__main__':    
        a = open('users.txt', 'r').readlines()
        with ThreadPoolExecutor(max_workers=2) as executor:
             for i in a:
                 future = executor.submit(functions, i)
    

    【讨论】:

    • 是的,你是对的。非常感谢你。这里我们没有 cookie 弹出窗口
    猜你喜欢
    • 2020-06-09
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多