我遇到了一个有趣的例外,但我不知道是什么导致了它。
这是我的例外:
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连接文件,并且代码无法相关。我输入的网址没有改变,错误中引用的文件中的代码都没有被编辑好几天。我尝试恢复到我的代码中的早期阶段,但有时仍会出现错误。小号
我知道它正在从文本文件中读取网址,然后使用selenium webdriver打开它们。我唯一可以指出的是,我改变了用最新的苹果软件更新更新我的电脑。有没有其他人有这种经验?在此开始失败之前,我将我的macbook air更新为EFI固件更新版本2.8。
我看不出编辑其他文件会导致此错误的原因,因为异常似乎发生在Web驱动程序的.get函数中。
我在这里检查我的理智,我找不到可能引发这种情况的原因。这个错误几乎没有在线文档(截至发布时的5个谷歌搜索结果)。
答案 0 :(得分:7)
在我的情况下,从配置解析是错误的。
我得到了同样的错误
selenium.common.exceptions.WebDriverException: Message: u'f.QueryInterface is not a function'
我写的网址放在引号中,但是错了。 网址应保持原样,不带任何引号。
您的错误self.execute(Command.GET, {'url': url})
只需删除引号。
答案 1 :(得分:3)
你应该使用这个&#34; http://&#34;格式(例如:&#34; http://www.google.com&#34;)。 如上所述更改代码并运行它。
答案 2 :(得分:0)
在卢克的帮助下:
我找到了:https://code.google.com/p/selenium/issues/detail?id=6988
通过执行以下操作,我能够解决此问题:
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部分。我也没有意识到错误与此无关。
答案 3 :(得分:0)
如果您使用的话是
我打电话给Capybara.current_session.visit('about')
时收到此错误。这是在本地传递但在docker容器中失败。这是因为docker容器正在http://docker.myapp.com:3000上运行应用程序。它是在本地传递的,因为我抓住了从浏览器设置的URL并且浏览器附加了'/#/'因为有角度。当我将呼叫改为Capybara.current_session.visit('/#/about')
时,一切都运行良好。
长话短说。如果不使用'/#/',您可能会看到带有角度的错误。此外, f.QueryInterface不是函数是有史以来最糟糕的错误消息。另外,请检查您的网址。