2016-02-27 3 views
1

Похоже, что существует путаница в том, можно ли отключить CSS при использовании веб-репозитория PhantomJS для Selenium. По-видимому, это возможно при использовании FireFox, адаптируя профиль FireFox, но я надеюсь использовать его для PhantomJS, поскольку он, как правило, быстрее, чем FireFox.Python Selenium отключить CSS с помощью PhantomJS webdriver

Можно ли отключить 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

Здесь вы: [Предотвращение загрузки CSS/другого ресурса в PhantomJS/Selenium, управляемом Python] (http://stackoverflow.com/q/19099070/1816580) –

Смежные вопросы