[找到解决方案,见下文]
我正在使用以下Python脚本(使用Python 2.7)打开Microsoft Edge并浏览到www.freelancer.in(使用Selenium 3.8.1):
import os
from selenium import webdriver
# create new Edge session
dir = os.path.dirname(__file__)
edge_path = dir + "\MicrosoftWebDriver.exe"
driver = webdriver.Edge(edge_path)
driver.implicitly_wait(10)
driver.get("https://www.freelancer.in/")
它在我的本地计算机上正常运行:Windows Pro版本1709,操作系统16299.125。但是,它无法在我的虚拟机上运行...我无法弄清楚为什么因为我安装了完全相同的Windows 10 Pro,我使用相同的Microsoft Webdriver.exe(16299.15)。 Microsoft WebDriver.exe似乎正在工作,因为它说:
[15:32:45.548] - Listening on http://localhost:17556/
但之后,我收到以下错误:
Traceback (most recent call last):
File "C:\Users\program.py", line 9, in <module>
driver = webdriver.Edge(edge_path)
File "C:\Python27\lib\site-packages\selenium\webdriver\edge\webdriver.py", line 43, in __init__
desired_capabilities=capabilities)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 154, in __init__
self.start_session(desired_capabilities, browser_profile)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 243, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 208, in check_response
raise exception_class(value)
WebDriverException: Message: Unknown error
我没有在Microsoft Edge中找到任何特定的配置。 什么可能导致这个错误的想法?
=&GT;在那里找到解决方案:selenium.common.exceptions.WebDriverException: Message: Unknown error while trying to use Edge and MicrosoftWebDriver.exe through Selenium 它无法在虚拟机上运行,因为用户帐户控制设置已关闭...启用UAC解决了该问题。
答案 0 :(得分:0)
错误说明了一切:
ReferenceError: stuff is not defined
很明显,selenium.common.exceptions.WebDriverException: Message: Unknown error
实例未被调用。因此,您必须将 edge_path 与webdriver
executable_path 一起传递,如下所示:
argument
答案 1 :(得分:0)
我遇到Edge的相同问题。调用Edge浏览器不需要任何特定的配置。以下代码足以打开它:
from selenium.webdriver import Edge
driver = Edge()
与您的情况一样,它在笔记本电脑上对我来说也可以正常工作-但在带有Win10的虚拟机上不行...所以我想我们这里有可能的模式。
您使用Microsoft Webdriver.exe 16299.15编写了试用版。您也可以尝试从microsoft起使用较新的版本17134。它对我没有用,但对您有用。
还应该可以直接从Win10安装中获取Microsoft Webdriver.exe:设置→应用程序→管理可选功能→添加功能→Microsoft WebDriver。这应该将Microsoft Webdriver直接安装到您的计算机上,并将其添加到PATH。
顺便说一句...如果在PATH中设置了MicrosoftWebDriver.exe,则不需要通过edge_path。
答案 2 :(得分:0)
=>在那里找到解决方案:selenium.common.exceptions.WebDriverException:消息:尝试通过Selenium使用Edge和MicrosoftWebDriver.exe时发生未知错误在虚拟机上无法正常工作,因为用户帐户控制设置已关闭。 ..开启UAC解决了该问题。