webdriver Python krom için proxy ayarlamak. Bu FF için çalışıyor. Chrome'da bu gibi proxy nasıl ayarlanır? Bu exmaple buldum ama çok yararlı değil. Komut dosyasını çalıştırdığımda hiçbir şey olmuyor (Chrome tarayıcı başlatılmamış). Benim için çalışannasıl ben ben bu kodu kullanıyorum
cevap
from selenium import webdriver
PROXY = "23.23.23.23:3128" # IP:PORT or HOST:PORT
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
Tarayıcıyı yeniden başlatmadan herhangi bir yöntem var mı? thx – 176coding
from selenium import webdriver
from selenium.webdriver.common.proxy import *
myProxy = "86.111.144.194:3128"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy':''})
driver = webdriver.Firefox(proxy=proxy)
driver.set_page_load_timeout(30)
driver.get('http://whatismyip.com')
Soruyu cevaplamıyor. – Collin
Chrome - Chrome ile ilgili soru –
Onun ...
from selenium import webdriver
PROXY = "23.23.23.23:3128" # IP:PORT or HOST:PORT
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://%s' % PROXY)
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
Proxy'nin sauthen olması gerekiyorsa nasıl kullanıcı adı/şifre ekliyorsunuz? – desmond
Ben de aynı şeyi ile bir sorunu vardı. ChromeOptions çok garip çünkü düşündüğünüz gibi istenen kapasitelerle entegre değil. Tam ayrıntıları unuttum, ancak temel olarak ChromeOptions, istediğiniz yetenekleri dict yapıp yapmadığınıza göre belirli değerleri varsayılan olarak sıfırlayacak.
def __init__(self, executable_path="chromedriver", port=0,
chrome_options=None, service_args=None,
desired_capabilities=None, service_log_path=None, skip_capabilities_update=False):
"""
Creates a new instance of the chrome driver.
Starts the service and then creates new instance of chrome driver.
:Args:
- executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH
- port - port you would like the service to run, if left as 0, a free port will be found.
- desired_capabilities: Dictionary object with non-browser specific
capabilities only, such as "proxy" or "loggingPref".
- chrome_options: this takes an instance of ChromeOptions
"""
if chrome_options is None:
options = Options()
else:
options = chrome_options
if skip_capabilities_update:
pass
elif desired_capabilities is not None:
desired_capabilities.update(options.to_capabilities())
else:
desired_capabilities = options.to_capabilities()
self.service = Service(executable_path, port=port,
service_args=service_args, log_path=service_log_path)
self.service.start()
try:
RemoteWebDriver.__init__(self,
command_executor=self.service.service_url,
desired_capabilities=desired_capabilities)
except:
self.quit()
raise
self._is_remote = False
:
bana ChromeOptions
komplikasyonları hakkında
değişikliği /selenium/webdriver/chrome/webdriver.py aşağıdaki kod endişesi olmadan kendi dicti belirlemenizi sağlar aşağıdaki maymun yama yaptılar
tüm bunlar değişti "skip_capabilities_update" kwarg. Şimdi bunu kendi ritimimi ayarlamak için yapıyorum:
capabilities = dict(DesiredCapabilities.CHROME)
if not "chromeOptions" in capabilities:
capabilities['chromeOptions'] = {
'args' : [],
'binary' : "",
'extensions' : [],
'prefs' : {}
}
capabilities['proxy'] = {
'httpProxy' : "%s:%i" %(proxy_address, proxy_port),
'ftpProxy' : "%s:%i" %(proxy_address, proxy_port),
'sslProxy' : "%s:%i" %(proxy_address, proxy_port),
'noProxy' : None,
'proxyType' : "MANUAL",
'class' : "org.openqa.selenium.Proxy",
'autodetect' : False
}
driver = webdriver.Chrome(executable_path="path_to_chrome", desired_capabilities=capabilities, skip_capabilities_update=True)
Açık olanı sorduğum için üzgünüm, ama Firefox’un satırlarını kendi Chrome eşdeğerlerine mi dönüştürdün? Kodunuzu gönderir misiniz? –
Ayrıca, "hiçbir şey olmuyor?" Bir hata mesajı var mı? Herhangi bir çeşit çıkış durumu? –
Internet Explorer'da bir proxy ayarladığımda betiğin çalışmadığını fark ettim (FF açılır, ancak sürücüde başarısız olur ("google.com/";)). Hata mesajı yok, bağlanmayı reddediyor. Internet Explorer'da proxy ayarlarının etkin olmaması durumunda betik çalışıyor. – sarbo