Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不可能在GhostDriver/PhantomJSDriver中禁用JavaScript?_Javascript_Selenium_Phantomjs_Ghostdriver - Fatal编程技术网

为什么不可能在GhostDriver/PhantomJSDriver中禁用JavaScript?

为什么不可能在GhostDriver/PhantomJSDriver中禁用JavaScript?,javascript,selenium,phantomjs,ghostdriver,Javascript,Selenium,Phantomjs,Ghostdriver,我想在特定页面上禁用PhantomJSDriver中的JavaScript,但是说这不可能,因为“整个GhostDriver将变得不可用” 有人能给我解释一下,好像我5岁,为什么会这样 我有什么方法可以阻止PhantomJSDriver在页面上执行JavaScript吗?GhostDriver是用JavaScript编写的,它使用将WebDriver wire协议命令转换为本机PhantomJS命令/调用 PhantomJS有两个上下文:驱动浏览器的外部(幻像)上下文和执行页面JavaScrip

我想在特定页面上禁用
PhantomJSDriver
中的JavaScript,但是说这不可能,因为“整个GhostDriver将变得不可用”

有人能给我解释一下,好像我5岁,为什么会这样


我有什么方法可以阻止PhantomJSDriver在页面上执行JavaScript吗?

GhostDriver是用JavaScript编写的,它使用将WebDriver wire协议命令转换为本机PhantomJS命令/调用

PhantomJS有两个上下文:驱动浏览器的外部(幻像)上下文和执行页面JavaScript的内部(页面)上下文。如果在PhantomJS中禁用JavaScript,则仅禁用页面上下文。您仍然可以做一些事情,但不能再使用
page.evaluate*()
,这是进入页面上下文的大门。如果仔细观察PhantomJSAPI,您会发现没有可用于访问DOM的函数。这意味着您无法找到元素,无法查询元素的文本,无法更改元素,也无法知道元素在何处单击

您所能做的就是创建屏幕截图(
page.render()
)并盲目单击和键入(
page.sendEvent()
)。这还不足以让WebDriver协议工作