在PhantomJS中,如何将URI参数传递给使用file://协议加载的HTML文件?

在PhantomJS中,如何将URI参数传递给使用file://协议加载的HTML文件?,phantomjs,Phantomjs,我使用的是PhantomJS2.1.1。我想在Phantom中打开本地文件系统上的HTML文件,并将URI参数传递给它 如果我打开没有URI参数的页面,例如: page.open("product.html"); 然后页面就可以打开了 但如果我用路径传入URI参数: page.open("product.html?id=cheese"); 然后我得到错误“product.html?id=cheese:没有这样的文件或目录”(在product.html的PhantomJS调试环境中),就好像P

我使用的是PhantomJS2.1.1。我想在Phantom中打开本地文件系统上的HTML文件,并将URI参数传递给它

如果我打开没有URI参数的页面,例如:

page.open("product.html");
然后页面就可以打开了 但如果我用路径传入URI参数:

page.open("product.html?id=cheese");
然后我得到错误“product.html?id=cheese:没有这样的文件或目录”(在product.html的PhantomJS调试环境中),就好像PhantomJS将URI参数作为文件名的一部分。通过在虚拟调试器中检查网络请求来支持这一点


我只是在升级到PhantomJS2.0之后才体验到这一点。以前我使用的是PhantomJS 1.9,能够以这种方式传递URI参数,一切都很好。是否有一些新的幻影API用于传递URI参数?

您是否尝试过使用文件URI?无论如何,URL查询应该由服务器处理。PhantomJS无法删除查询部分,因为它认为它是文件名的一部分。你认为它应该如何处理?你有这么多JavaScript来读取查询吗?我正是这样做的!我在路径中添加了“file://”,然后它正确地处理了我的URI参数。通过将file://添加到路径中,我必须将其更改为绝对路径,但与处理URI参数相比,这相当简单。这也是phantom项目上的一个开放错误: