selenium如何只加载本地html和javascript,不加载css和请求外部url?
时间: 2024-01-03 13:05:33 浏览: 122
基于Java和HTML/CSS的Google Selenium爬虫设计源码
可以通过Selenium的ChromeOptions类来设置浏览器的选项,从而实现只加载本地html和JavaScript,不加载CSS和请求外部URL。
下面是一个示例代码:
```python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-web-security")
chrome_options.add_argument("--allow-file-access-from-files")
chrome_options.add_argument("--allow-file-access")
chrome_options.add_argument("--disable-extensions")
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(options=chrome_options)
driver.get("file:///path/to/local.html")
```
这段代码中,我们通过ChromeOptions类来设置浏览器选项。其中,"--disable-extensions"和"--disable-gpu"选项可以禁用扩展和GPU加速,"--headless"选项可以让浏览器在无头模式下运行,"--no-sandbox"选项可以禁用沙盒模式,"--disable-dev-shm-usage"选项可以禁用/dev/shm/tmpfs,"--disable-web-security"选项可以禁用浏览器的同源策略,"--allow-file-access-from-files"和"--allow-file-access"选项可以允许浏览器访问本地文件。
另外,我们还通过实验性选项"prefs"来设置浏览器的偏好设置,将"images"设置为2,表示不加载图片。这样就可以避免加载CSS和请求外部URL。
最后,我们使用webdriver.Chrome方法来创建一个ChromeDriver实例,并传入上述设置,然后使用get方法来加载本地html文件。
阅读全文