У меня есть сценарий (внутри тегов <script></script>
), который выполняется каждый раз при загрузке страницы. Можно ли удалить WebElement до загрузки страницы в WebDriver, чтобы предотвратить выполнение этого сценария?Удаление части HTML перед загрузкой страницы в WebDriver - Selenium & Python
Я имею в виду что-то в линиях:
Каким-то образом получить сырье HTML код (возможно получить источник или что-то), удалите часть (с селеном или парсер), «впрыснуть» отредактированный код обратно в Selenium (Firefox WebDriver или, возможно, PhantomJS) и, наконец, выполнить его для всех страниц на этом веб-сайте.
Возможно ли это сделать или это возможно невозможно по дизайну?
Есть доступ к исходному HTML? –
Я не знаю, что вы подразумеваете под оригиналом. Но я вижу, что на сайте. Я могу сохранить этот html в виде строки с помощью соответствующего метода, такого как driver.find_element_by_tag_name (). Get_attribute ('outerHTML') (если я правильно помню, я сейчас не на своем главном компьютере. Но поскольку я пытаюсь не запускать этот скрипт и не загружать эту страницу, бесполезно, так как я не могу найти элемент и, таким образом, получить необработанные html-данные без загрузки страницы. –
Clone
Selenium сделает запрос и, вероятно, все, что вы сделаете, это после того, как страница уже загружена (и сценарий запускается). Что вы могли бы сделать (это было бы не очень красиво, но ...), это создать дополнение к браузеру, в котором вы запускаете тесты (например, FF или Chrome), чтобы удалить этот скрипт для этого URL, а затем сохраните его профиль.Этот профиль может быть указан при запуске тестов, что помешало бы запуску скрипта. – Tom