• 23-06-2021, 11:49:30
    #1
    Herkese iyi günler,

    Proxy kullanacağım bir program hazırlıyordum. Ekstra arka planda çalışmasını sağlamak istiyorum. Selenium da aşağıdakini kullanarak yapıyordum.

    self.options.add_argument("--headless")
    chrome = webdriver.Chrome(chrome_options=chrome_options)
    Proxy kullanıcı adı ve şifresi olacağından selenium kullanmak istemiyorum.
    SeleniumWire kullanmak istiyorum.
    Sorum şu SeleniumWire arka planda çalışma kodu var mı?

    Eğer yoksa selenium ve seleniumwire nasıl bir arada kullanabilirim? Örnek kodu olan varsa atarsa çok sevinirim.
    Bu iyiliğinin karşılığında 2 adet 2013 Tarihli instagram hesabı verebilirim.

    Sağlıklı günler

    Çözüm:

    from seleniumwire import webdriver as uc
    import time
    
    options = uc.ChromeOptions()        
    options.add_argument("--headless")
    options.add_argument("--incognito")
    
    proxy = "ip:port:user:pass"
    
    proxy = proxy.split(":")
    host = proxy[0] + ":" + proxy[1]
    hostUser = proxy[2] + ":" + proxy[3]
    
    proxyString= hostUser + "@" + str(host)
    
    proxy = {
    'proxy': {
        'http': 'http://'+proxyString,
        'https': 'https://'+proxyString,
        'no_proxy': 'localhost,127.0.0.1'
        }
    }
    
    browser = uc.Chrome("chromedriver.exe", options=options ,seleniumwire_options=proxy)
    
    browser.get("https://myip.ru/")
    time.sleep(3)
    browser.save_screenshot("screenshoot.png")
    time.sleep(1)
    browser.close()
  • 23-06-2021, 11:53:11
    #2
    from seleniumwire import webdriver
    
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    
    driver = webdriver.Chrome('chromedriver', options=chrome_options,seleniumwire_options=options)
    yine aynı şekilde yapılıyor yazıyor ancak denemedim
  • 23-06-2021, 12:01:55
    #3
    YuqseLX adlı üyeden alıntı: mesajı görüntüle
    from seleniumwire import webdriver
    
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    
    driver = webdriver.Chrome('chromedriver', options=chrome_options,seleniumwire_options=options)
    yine aynı şekilde yapılıyor yazıyor ancak denemedim


    from seleniumwire import webdriver as uc
    
    self.options = uc.ChromeOptions()
    self.chrome_options = uc.ChromeOptions()
    
     self.options = {
              'proxy': {
              'http': f'http://{self.hostUser}:{self.hostPass}@{self.host}',
              'https': f'http://{self.hostUser}:{self.hostPass}@{self.host}',
              'no_proxy': 'localhost,127.0.0.1'
        }  
    }
    
    self.chrome_options.add_argument('--headless')
    self.chrome_options.add_argument('--no-sandbox')
    
    self.browser = uc.Chrome(options=self.chrome_options, seleniumwire_options=self.options)
    
    self.browser.get(self.url)
    Alınan hata:

    [0623/115909.471:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
    [0623/115909.495:ERROR:command_buffer_proxy_impl.cc(123)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.

    selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_TUNNEL_CONNECTION_FAILED
    (Session info: headless chrome=91.0.4472.114)
  • 23-06-2021, 12:22:02
    #4
    linux bilgisayarda mı deniyorsunuz
  • 23-06-2021, 12:54:22
    #5
    YuqseLX adlı üyeden alıntı: mesajı görüntüle
    linux bilgisayarda mı deniyorsunuz
    Hayır windows
  • 23-06-2021, 13:14:05
    #6
    Chromedriver ve chrome sürümleri aynı mı
  • 23-06-2021, 13:15:13
    #7
    baskiworld adlı üyeden alıntı: mesajı görüntüle
    Chromedriver ve chrome sürümleri aynı mı
    Evet
  • 23-06-2021, 13:16:58
    #8
    Sadece proxy kullanınca çalışıyor. Ekstra arka planda çalışmasını sağlamak için eklediğim kod ile hata alıyorum. Yukarıda kod satırını verdim.
  • 23-06-2021, 13:27:17
    #9
    --disable-gpu
    bu komutu da ekleyin diğer argumen'lere ek olarak.
    Ayrıca proxy ile bağlanma sebebi ban yemiş olma ihtimalinizi de doğruyor.