繁体   English   中英

Selenium Python webdriver错误

[英]Selenium Python webdriver error

我在这一行上遇到以下python脚本的问题:

driver = webdriver.Firefox(firefox_profile=profile, proxy=proxy). 

我收到此错误:

回溯(最近一次调用最后一次):文件“C:\\ Python27 \\ example2.py”,第45行,在driver = webdriver.Firefox(firefox_profile = profile,proxy = proxy)文件“C:\\ Python27 \\ lib \\ site-packages \\ selenium \\ webdriver \\ firefox \\ webdriver.py“,第135行,在init self.service.start()文件”C:\\ Python27 \\ lib \\ site-packages \\ selenium \\ webdriver \\ common \\ service.py“,第71行,在启动os.path.basename(self.path),self.start_error_message)WebDriverException:消息:'geckodriver'可执行文件需要在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()

要使用不同的浏览器,您只需下载驱动程序可执行文件,然后将其添加到您的路径中。 调用浏览器非常简单:

from selenium import webdriver
# ie
ie_driver = webdriver.Ie()
# chrome
chrome_driver = webdriver.Chrome()
# etc ..

常用浏览器驱动程序( 完整列表 ):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM