Selenium çoklu pencere

Selenium ile instagramda kullanıcı hesaplar ile tek tek giriş yapıp işlemler yaptırmak biraz uzun sürüyor. Selenium da bir kaç tane pencereyi aynı anda çalıştırarak bir kaç tane kullanıcıyı aynı anda instagrama girdirmek istiyorum. Ve işlemleri aynı anda yapmasını istiyorum zamandan tasarruf etmek için. Bunu threading e dökemedim. Bilen var mı

for user_name, pass_word in user_datas.items():
browser = webdriver.Chrome()
browser.get(“https://www.instagram.com”)
time.sleep(random.uniform(3, 5))
kullaniciadi = browser.find_element_by_xpath("//input[@name=‘username’]")
sifre = browser.find_element_by_xpath("//input[@name=‘password’]")
kullaniciadi.send_keys(user_name)
sifre.send_keys(pass_word)
sifre.send_keys(Keys.ENTER)
.
.
.
.
.

şeklinde devam ediyor program yaptırılacak işlemler için

threading den anlayan veya bunu başka yolla yapmayı bilen birisi var mı

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from threading import Thread
from random import randint
import time

ids = open("ids.txt", "r").readlines()
pws = open("pws.txt", "r").readlines()
bots = []

class Bot:
    def __init__(self, id, pw):
        self.id = id
        self.pw = pw
        self.browser = webdriver.Chrome()

    def login(self):
        self.browser.get("https://www.instagram.com")
        time.sleep(randint(3, 5))
        id = self.browser.find_element_by_xpath("//input[@name='username']")
        sifre = self.browser.find_element_by_xpath("//input[@name='password']")
        id.send_keys(self.id)
        sifre.send_keys(self.pw)
        sifre.send_keys(Keys.ENTER)

for i in range(len(ids)):
    bots.append(Bot(ids[i], pws[i]))

for bot in bots:
    Thread(target=bot.login).start()

kodunuzun bulunduğu dosya konumunda ids.txt ve de pws.txt isminde iki dosya oluşturup, kullanıcı adlarını ve de şifrelerini bu dosyalara kaydedip çalıştırabilirsiniz.
konum

1 Beğeni

evet hocam oluyor gerçekten çoklu pencere açılıyor fakat listeye ne kadar çok hesap eklediysek o kadar açılıyor. Mesela 30 hesap eklense 30 pencere açılacak. Ben bunu 2 li yada 3 lü şeklinde ayarlayabilir miyim. Mesela listede 30 hesap olsa. İkili pencere açılsın ve iki hesap aynı anda girsin işlemlerini yapsın ve sırasıyla dönsün bu şekilde 30 hesap diye ayarlayabilir miyim pencere sayısını

Sanırım şöyle bir şey istediniz;

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from threading import Thread
from random import randint
import time

ids = open("ids.txt", "r").readlines()
pws = open("pws.txt", "r").readlines()
bots = []

class Bot:
    def __init__(self, id, pw):
        self.id = id
        self.pw = pw
        self.durum = 0

    def login(self):
        self.browser = webdriver.Chrome()
        self.browser.get("https://www.instagram.com")
        time.sleep(randint(3, 5))
        id = self.browser.find_element_by_xpath("//input[@name='username']")
        sifre = self.browser.find_element_by_xpath("//input[@name='password']")
        id.send_keys(self.id)
        sifre.send_keys(self.pw)
        sifre.send_keys(Keys.ENTER)
        self.browser.close()
        self.durum = -1

for i in range(len(ids)):
    bots.append(Bot(ids[i], pws[i]))

for i in range(0, len(bots), 2):
    Thread(target=bots[i].login).start()
    Thread(target=bots[i+1].login).start()
    while bots[i].durum != -1 and bots[i+1].durum != -1:
        time.sleep(1/4)

Bu kodda iki pencere açılıyor, iki bot giriş yapıyor ardından pencereler kapanıyor. Sonrasında başka 2 pencere açılıyor. Böyle böyle devam ediyor. Aynı anda 30 pencere açılmıyor, sırasıyla 2’şer 2’şer ilerliyor.

2 Beğeni

teşekkürler hocam kodu denedim aynı dediğiniz gibi sağolun

1 Beğeni

Hocam selenium da try except ile hatalardan kaçmaya çalışıyorum ama bir türlü yapamadım yardımcı olur musunuz?

kardeşim burda selenium ile takipçi yazılımı yapmaya çalışmışsın fakat dikkat et hesaplar bi kaç takipten sonra uçuruyor instagram selenium ile yapılan yazılımlar düzen tutmaz direk instagramın radarına takılır istersen dünyanın en iyi proxy’sini kullan ben ve ekip arkadaşlarım bir çok kez denedik ve yazılımcılardan yardım aldık ne yazıkki olmadı sana önerim mobil emulatör üzerinden bi sistem kur boşuna selenium ile uğraşma