我在與這條線以下python腳本的問題:硒webdriver的Python的錯誤
driver = webdriver.Firefox(firefox_profile=profile, proxy=proxy).
我收到此錯誤:
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.
我已經看過了文檔上,這可能是造成這個問題,但我一直無法找到任何可以解決這個問題的東西。有什麼想法嗎?
此外,有沒有一種方法,我可以使用IE瀏覽器而不是Firefox,如果有的話,我需要什麼代碼切換出什麼?
以下是完整代碼:
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()
嘗試在PATH環境變量中添加geckodriver可執行文件的完整路徑。 – Eddie
請確保在PATH中添加geckodriver。並重新啓動IDE。 – Prabhakar
您是否嘗試過運行最簡單的selenium webdriver程序?它運行良好嗎?在我看來,即使是簡單的代碼,在你的情況下也不起作用。嘗試按照我的答覆在這裏指示 - http://stackoverflow.com/questions/40834238/how-to-properly-setup-windows7-to-use-selenium-with-firefox-tdd-with-python/40837887#40837887 –