Selenium WebDriver异常: u'f. QueryInterface不是函数'

2024-06-08 22:35:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一个有趣的异常,但我不知道是什么引起的。

这是我的例外:

File "/Users/tai/Documents/workspace/testSelenium/testS/__init__.py", line 86, in runFlashY
    openWebsites()    File "/Users/tai/Documents/workspace/testSelenium/testS/__init__.py", line 50, in openWebsites
     newSwfFiles = Sniffer.openURL(line, []);
 File "/Users/tai/Documents/workspace/testSelenium/testS/Sniffer.py", line 98, in openURL
getAllFiles();
 File "/Users/tai/Documents/workspace/testSelenium/testS/Sniffer.py", line 211, in getAllFiles
outUrl= getredirectedUrl(b[place]);
  File "/Users/tai/Documents/workspace/testSelenium/testS/Sniffer.py", line 249, in getredirectedUrl
browser.get(s);
 File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 178, in get
self.execute(Command.GET, {'url': url})
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 166, in execute
    self.error_handler.check_response(response)
  File "/Library/Python/2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 164, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: u'f.QueryInterface is not a function' ;       Stacktrace: 
    at FirefoxDriver.prototype.get (file:///var/folders/w5/w7rmb9zj7sz3wv8pq64c8h3h0000gn/T/tmpQcIHoK/extensions/fxdriver@googlecode.com/components/driver_component.js:8768)
    at DelayedCommand.prototype.executeInternal_/h (file:///var/folders/w5/w7rmb9zj7sz3wv8pq64c8h3h0000gn/T/tmpQcIHoK/extensions/fxdriver@googlecode.com/components/command_processor.js:10884)
    at DelayedCommand.prototype.executeInternal_ (file:///var/folders/w5/w7rmb9zj7sz3wv8pq64c8h3h0000gn/T/tmpQcIHoK/extensions/fxdriver@googlecode.com/components/command_processor.js:10889)
    at DelayedCommand.prototype.execute/<    (file:///var/folders/w5/w7rmb9zj7sz3wv8pq64c8h3h0000gn/T/tmpQcIHoK/extensions/fxdriver@googlecode.com/components/command_processor.js:10831) 

我在谷歌上搜索了这个异常,只找到了一些与这个错误相关的网站,但是没有一个网站有我理解的解决方案。奇怪的是,在过去的一个月里,我没有遇到这个错误,今天当它开始发生时,我没有处理这个文件。

我唯一做的修改是在另一个文件中,我已经建立了一个DynamoDb连接。我不明白这是怎么回事。另外,我使用的是dynamodb连接文件,不可能与代码相关。我正在输入的url没有更改,错误中引用的文件中的任何代码都没有编辑数天。我试图恢复到代码的早期阶段,但有时仍会出现错误。S公司

我知道它从一个文本文件读取url,然后用selenium webdriver打开它们。我唯一能指出的是我已经改变了的是用最新的苹果软件更新我的电脑。其他人有过这种经历吗?在这个开始失败之前,我更新了我的MacBookAir到EFI固件更新版本2.8。

我看不出编辑另一个文件会导致此错误的原因,因为异常似乎发生在web驱动程序的.get函数中。

我在检查我的理智,我找不到什么可能触发了这件事。网上几乎没有关于这个错误的文档(截至发帖,只有5个google结果)。


Tags: 文件inpyselenium错误linetestsusers
3条回答

您应该使用“http://”格式的URL(例如:“http://www.google.com”)。 如上所述更改代码并运行它。

在卢克的帮助下:

我找到了:https://code.google.com/p/selenium/issues/detail?id=6988

I was able to get around this issue by doing the following:

Downgrade to FF v25
Install java on the mac
Download and run selenium server
After running it once I stopped the selenium server

Reran the my project tests and it worked fine.

Maybe the foxdriver is not getting installed properly?

我重新安装了firefox java和webdriver,解决了我的问题。我不知道到底发生了什么。我想也许在更新中有些东西被重定向了:S。但是是的,如果有人也遇到这种情况,我相信重新安装所有的导入/工具会解决这个问题。不知道是怎么发生的,但也不是什么难事。

@Luke Woodward-谢谢我没看到unicode部分。我也没有意识到错误与此无关。

在我的例子中,这只是从配置解析错误。

我也犯了同样的错误

selenium.common.exceptions.WebDriverException: Message: u'f.QueryInterface is not a function'

我写的网址是用引号引起来的,但错了。 Url应该保持原样,没有任何引号。

你在这里的错误self.execute(Command.GET, {'url': url})

只需删除引号。

相关问题 更多 >