2016-02-27 93 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) –

相關問題