chrome_options.binary_location () TypeError: el objeto ‘str’ no se puede llamar

Espero que todos estén bien. Soy nuevo en Python y mucho para ejecutar este código, pero no puedo entender cuál es el problema y cómo puedo resolverlo.

Mi código es:

from selenium import webdriver from time import sleep url = raw_input("Enter URL to get visits (With http://): ") proxy_path = raw_input("Enter path to proxy file:") with open(proxy_path) as f: content = f.readlines() f.close() proxies = 0 with open(proxy_path) as infp: for line in infp: if line.strip(): proxies += 1 print 'Loaded %d proxies' %proxies # For debugging purposes #print content[run_through] run_through = 1 while True: #print "Start of loop" print "Ran %s times" %run_through try: use_proxy = content[run_through] except IndexError: print "Out of proxies" break print "Using: %s" %use_proxy chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=%s' %use_proxy) chrome_options.binary_location(value = u"C:\\ProgramFiles\\Google\\Chrome\\chrome.exe") browser = webdriver.Chrome(chrome_options=chrome_options) #print "Browser started" try: browser.get(url) #print "Opened URL" sleep(10) browser.find_element_by_id('skip_button').click() sleep(10) browser.quit() #print "Adding one to proxy count" except Exception,e: print "Skipping proxy. Error occured" # For debugging, uncomment line below #print str(e) browser.quit() run_through += 1 continue run_through += 1 if run_through >= proxies: print "No more proxies" break print 'Done!' 

Y me sale este error:

 Traceback (most recent call last): File "code.py", line 40, in  chrome_options.binary_location(value = u"C:\\ProgramFiles\\Google\\Chrome\\c hrome.exe") TypeError: 'str' object is not callable 

Espero que mis preguntas sean claras.

Estás haciendo chrome_options.binary_location() pero binary_location es una cadena, no una función.

Después de revisar el código fuente , parece que aquí tenemos un getter y un setter. @ l4mpi parece estar correcto, simplemente haciendo chrome_options.binary_location = "C:\\ProgramFiles\\Google\\Chrome\\chrome.exe" debería funcionar.

Puede encontrar los documentos de Selenium aquí: http://selenium-python.readthedocs.org/


Respuesta antigua (incorrecta):

Lo que probablemente quería aquí era chrome_options.setBinary("C:\\ProgramFiles\\Google\\Chrome\\chrome.exe") , como se menciona en la documentación .