Ich habe Probleme mit dem folgenden Python-Skript auf dieser Linie mit:Selen Python WebDriver Fehler
driver = webdriver.Firefox(firefox_profile=profile, proxy=proxy).
ich diese Störung erhalte:
Traceback (most recent call last): File "C:\Python27\example2.py", line 45, in driver = webdriver.Firefox(firefox_profile=profile, proxy=proxy) File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 135, in init self.service.start() File "C:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 71, in start os.path.basename(self.path), self.start_error_message) WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Ich habe für die Dokumentation sieht, was sein könnte verursacht das Problem, aber ich konnte nichts finden, das dieses Problem beheben würde. Irgendwelche Gedanken?
Gibt es auch eine Möglichkeit, IE anstelle von Firefox zu verwenden und wenn ja, welchen Code muss ich mit was wechseln?
Nach der vollständige Code ist:
import random, time, requests
from selenium import webdriver
from selenium.webdriver.common.proxy import *
from bs4 import BeautifulSoup
USER_AGENTS_FILE = './user_agents.txt'
RUNNING = True
def LoadUserAgents(uafile=USER_AGENTS_FILE) :
uas = []
with open(uafile, 'rb') as uaf:
for ua in uaf.readlines():
if ua:
uas.append(ua.strip()[1:-1-1])
random.shuffle(uas)
return uas
uas = LoadUserAgents()
while RUNNING == True:
address = []
response = requests.get('https://www.sslproxies.org')
soup = BeautifulSoup (response.content, "html.parser")
rows = soup.findAll ("tr")
for row in rows:
if (len(row.findAll("td"))== 8):
address.append(row.contents[0].contents[0] + ':' + row.contents[1].contents[0])
random.shuffle(address)
PROXY = random.choice(address)
proxy = Proxy ({
'proxyType': ProxyType.MANUAL,
'httpProxy': PROXY,
'ftpProxy': PROXY,
'sslProxy': PROXY,
'noProxy': ''
})
profile = webdriver.FirefoxProfile()
profile.set_preference('general.useragent.override', random.choice(uas))
driver = webdriver.Firefox(firefox_profile=profile, proxy=proxy)
driver.set_page_load_timeout(10)
try:
driver.get("http://www.ipchicken.com/")
time.sleep(60)
driver.quit()
except:
diver.quit()
Versuchen Sie, einen vollständigen Pfad der geckodriver ausführbaren Datei in Ihrer Umgebungsvariablen PATH hinzuzufügen. – Eddie
Bitte stellen Sie sicher, dass geckodriver in PATH hinzugefügt wird. Und starte die IDE neu. – Prabhakar
Haben Sie versucht, das einfachste Selen-Webdriver-Programm auszuführen? Funktioniert es gut? Es scheint mir, dass selbst einfacher Code in Ihrem Fall nicht funktioniert. Versuchen Sie, Anweisungen aus meiner Antwort hier zu folgen http://StackOverflow.com/Questions/40834238/how-to-properly-setup-windows7-to-use-selenium-with-firefox-tdd-with-python/40837887#40837887 –