2016-02-27 94 views
1

当Selenium使用PhantomJS webdriver时,是否有可能禁用CSS似乎存在混淆。当通过改变FireFox配置文件来使用FireFox时,它显然是可能的,但我希望将它用于PhantomJS,因为它通常比FireFox更快。Python Selenium使用PhantomJS webdriver禁用CSS

是否有可能在这种情况下禁用CSS?如果是这样,你能提供一些关于如何实现它的想法吗?

回答

1

PhantomJS似乎没有禁用CSS的选项。您可以解决此限制自己移除CSS:

driver.execute_script(""" 
    var toRemove = []; 
    toRemove.push.apply(toRemove, document.querySelectorAll('link[type*=\"/css\"]')); 
    toRemove.push.apply(toRemove, document.querySelectorAll('style')); 
    toRemove.forEach(function(s){ 
     s.parentNode.removeChild(s); 
    }); 
    [].forEach.call(document.querySelectorAll('[style]'), function(e){ 
     e.removeAttribute('style'); 
    }); 
""") 

这将删除所有链接,本地和内联样式,独自离开了默认浏览器的风格。您可能想要添加某种重置样式表。

+0

它看起来像这只是删除已下载的CSS,但它有可能不首先下载的CSS?谢谢你的帮助! – chris

+0

在这里你可以:[阻止Python驱动的PhantomJS/Selenium中的CSS /其他资源下载](http://stackoverflow.com/q/19099070/1816580) –

相关问题