Python Selenium TypeError:__init __()接受1个位置参数,但给出了2个位置

时间:2019-07-26 11:36:30

标签: python selenium webdriver

我的网络抓取程序不起作用。这给了我这个错误,“ TypeError: init ()接受1个位置参数,但给出了2个位置参数。”

当我尝试使用Edge,Chrome和Firefox打开时遇到该错误。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Edge(executable_path="C:\\Users\.......\Python\Python37-32\Lib\site-packages\selenium\edgedriver_win64\msedgedriver.exe")
driver.set_page_load_timeout(30)
driver.get("https://www.udemy.com/topic/python/")
driver.quit()

我查看了其他人的示例代码,它看起来和我做的一样。

此外,该程序在D驱动器中,而edgedriver_win64在C驱动器中。我不知道这有什么不同。

2 个答案:

答案 0 :(得分:0)

我在使用webdriver模块找到驱动程序的确切位置时遇到了几个问题,即使它在同一文件夹中也是如此。这是因为如果您将其作为脚本运行,我相信python本身会首先检查其自己的scripts文件夹中是否存在任何类型的驱动程序可执行文件。

我可以通过将msedgedriver.exe,chromedriver.exe等放置在我的计算机中来解决此问题 python scripts文件夹。我希望这有帮助。然后我可以运行driver = webdriver.Edge()

C:\Program Files\Python37\Scripts

答案 1 :(得分:0)

我真的很困惑。我的代码看起来与我看到的所有示例相同,但仍然出现此错误,“ TypeError:init()接受1个位置参数,但给出了2个位置参数。”

完整的堆栈跟踪已发布。