-1

我不断收到错误消息以及其他在硒的Python,当我使用我不能没有指定路径

driver = webdriver.Firefox() 
driver.get('http://stackoverflow.com') 

错误消息启动Chrome驱动程序消息以及Selenium Python中的其他消息。我可以解决这个问题有:

driver = webdriver.Firefox(executable_path=r'C:\Users\Bain3\Music\geckodriver.exe') 
driver.get(' http://stackoverflow.com') 

我曾尝试以下补救与Chrome和Firefox这个问题: 重新安装Chrome浏览器,火狐,Pycharm,蟒蛇,硒(PIP安装硒)

更改目录的文件:https://ibb.co/huDuWk

重新安装Chrome和Firefox后发生此问题。
目录是:

C:\Users\Bain3\Anaconda3 
C:\Brother\geckodriver.exe 
C:\Program Files\Mozilla Firefox\firefox.exe 

我使用Windows 10 感谢

+0

什么是你使用的操作系统? –

+0

你有没有尝试把你的路径中有chromedriver的文件夹? –

+0

@santhoshkumar我正在使用windows – Tetora

回答

1

有两种方法来设置路径

  • 放置chromedriver.exe的路径进入PATH(Windows电脑上),所以你PATH设置是正确的,但你需要调用默认的构造函数使用它。

    driver = webdriver.Chrome()

  • 指定webdriver.Chrome(executable_path='some path')的路径。在这里您需要可执行文件的完整路径,而不是存储路径的目录。

    webdriver.Chrome(executable_path='C:\\Users\sankalp\\chromedriver.exe')

选择任何你想要的。

+0

壁虎的路径目录似乎根本没有注册。第二个选项完美运作。如果他们为Windows用户导出了PATH = $ PATH:/ path/to/directory/of/executable/downloaded /或类似的东西,那会很好。因为它似乎很奇怪,我必须重置我的电脑和安装Linux使用geckodriver。我将在笔记本电脑上测试这个问题,看看这个问题是否只出现在这台电脑上,或者如果这是我正在做的事情。 – Tetora

+0

谢谢亲爱的:)很高兴它可以帮助你 – iamsankalp89

0

是。您需要在Windows中更新Path环境变量。只需将现有变量值附加到实际由您的chrome/gecko驱动程序组成的文件夹路径即可。本文档可以帮助你,

https://developers.thomsonreuters.com/sites/default/files/How%20To%20Add%20ChromeDriver%20To%20System%20Variables_0.pdf

注意 - 虽然我们可以摆脱做这个添加executable_path的,这是不可取的。因为将来它可能会与您要使用的驱动程序版本产生冲突。我建议您不要永久更新路径变量,而是将executable_path的值存储在变量中并将其传递到脚本中。通过这种方式,您可以更好地控制驱动程序版本。

为了在变量中存储驱动程序路径,下面的行可能会给你一些想法。

geckoPath=r'C:\Users\Bain3\Music\geckodriver.exe' 
driver = webdriver.Firefox(executable_path=geckoPath) 
driver.get(' http://stackoverflow.com') 

希望这会有所帮助。谢谢。

+0

本教程适用于Chromedriver和Java?你能解释我如何在Python中做到这一点?它似乎无法识别geckodriver.exe。我也尝试改变geckodriver – Tetora

+0

的路径是正确的。这个概念是一样的。只需将geckodriver放入一个文件夹并将该路径附加到环境变量即可。然后在命令提示符下尝试点击geckodriver而不是geckodriver.exe。我没有测试过,但我相信这会起作用。谢谢。 –

+0

这似乎不适用于我。也许我做错了。 – Tetora

0

第一步将设置路径MyCopmuter - >属性 - >环境变量 - >那里设置你的路径。 然后下面的示例代码:

from selenium import webdriver   
    webdriver.Firefox(executable_path='C:\\Users\xyz\\chromedriver.exe') 
    driver.get(' http://stackoverflow.com') 
    filename="stack_screen_shot" 
    #to save in a file in output folder 
    browser.save_screenshot("C:\\Users\\xyz\\PycharmProjects\\output\\"+file_name+".png")