Python Selenium使用PhantomJS webdriver禁用CSS
问题描述:
当Selenium使用PhantomJS webdriver时,是否有可能禁用CSS似乎存在混淆。当通过改变FireFox配置文件来使用FireFox时,它显然是可能的,但我希望将它用于PhantomJS,因为它通常比FireFox更快。Python Selenium使用PhantomJS webdriver禁用CSS
是否有可能在这种情况下禁用CSS?如果是这样,你能提供一些关于如何实现它的想法吗?
答
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');
});
""")
这将删除所有链接,本地和内联样式,独自离开了默认浏览器的风格。您可能想要添加某种重置样式表。
它看起来像这只是删除已下载的CSS,但它有可能不首先下载的CSS?谢谢你的帮助! – chris
在这里你可以:[阻止Python驱动的PhantomJS/Selenium中的CSS /其他资源下载](http://stackoverflow.com/q/19099070/1816580) –