在WebDriver中加载页面之前删除部分HTML - Selenium&蟒蛇

时间:2016-09-24 04:58:36

标签: python selenium selenium-webdriver selenium-ide selenium-firefoxdriver

我有一个脚本(在<script></script>标签内),每次加载页面时都会执行。是否可以在WebDriver中加载页面之前删除WebElement以防止该脚本执行?

我正在考虑以下几点:

以某种方式获取原始 HTML 代码(可能获取源代码或其他内容),删除部分(使用selenium或parser),&#34; inject&#34;编辑后的代码回到Selenium(Firefox WebDriver或者PhantomJS),最后为该网站上的所有页面执行。

是否可以这样做,或者这可能是不可能的设计?

1 个答案:

答案 0 :(得分:1)

如果你安装selenium-requests,你可以为页面发出GET请求,处理加载的html / etc,然后然后放在标签中。

插入处理结果可能会很棘手,因为您可能还需要将当前浏览器URL设置为匹配(只需插入它就会导致脚本跨域加载,相对路径等问题) - 也许有一种覆盖(或允许覆盖)硒与预处理信息一起接收的“获取”响应的方法

  

Selenium-Requests使用请求库发出请求,该库使用该域的运行webdriver的cookie并模拟该webdriver发送的默认HTTP头。结果是使用webdriver的状态创建的低级HTTP请求和响应。这是必需的,因为Selenium接口是非常高级的,并且在开发页面和探索DOM方面做的不仅仅是在Python中本身可行。