options=chrome_options, desired_capabilities=caps
时间: 2024-04-26 20:21:41 浏览: 153
这段代码是用来设置 Selenium WebDriver 的 Chrome 浏览器的选项和期望的能力的。其中,chrome_options 是一个选项对象,可以用来设置 Chrome 浏览器的各种选项,比如窗口大小、启用无头模式等等。而 caps 则是期望的能力对象,可以用来设置浏览器的一些期望能力,比如是否支持 JavaScript、是否支持 CSS 等等。这些选项和能力可以根据具体需求进行自定义设置。
相关问题
c#转python 【管理员】葛凯乐(985963628) 16:19:16 OpenQA.Selenium.DevTools.IDevTools devTools = driver; //IDevTools devTools = driver; OpenQA.Selenium.DevTools.DevToolsSession session = devTools.GetDevToolsSession(); session.Domains.Network.EnableNetwork(); session.DevToolsEventReceived += (sender, e) => { LIST_DevToolsSession.Add(new DevToolsSession_实体 { EventName = e.EventName, body = e.EventData.ToString(), }); }; 【管理员】葛凯乐(985963628) 16:19:22 var _session = LIST_DevToolsSession.ToArray().Single(s => s.Session.是验证 == true); if (_session != null) { var 目标会话 = LIST_DevToolsSession.ToArray().Single(s => s.Session.requestId == _session.Session.requestId && s.EventName == EventName.ResponseReceivedExtraInfo); string 后置令牌_未处理 = 目标会话.Session.headers["set-cookie"].ToString();//.Replace("\n", ";"); 后置令牌 = CookieHelper.GetCookieStrByHeader换行(后置令牌_未处理); if (!string.IsNullOrEmpty(后置令牌)) { driver.Quit(); break; } }
这段代码主要是使用 Selenium 和 DevTools 来获取网络请求的相关信息。下面是 Python 代码的转换:
```python
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service
from msedge.selenium_tools import Edge, EdgeOptions
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
# 创建 Chrome 浏览器实例
caps = DesiredCapabilities.CHROME.copy()
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
service = Service('/path/to/chromedriver')
driver = Chrome(service=service, desired_capabilities=caps)
# 创建 Edge 浏览器实例
caps = DesiredCapabilities.EDGE.copy()
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
options = EdgeOptions()
options.use_chromium = True
driver = Edge(options=options, desired_capabilities=caps)
# 获取 DevToolsSession
devTools = driver
session = devTools.get_devtools_session()
# 启用 Network,并监听 DevToolsEventReceived 事件
session.domains['Network'].enable_network()
LIST_DevToolsSession = [] # 定义一个列表用于存储 DevToolsSession
def on_event_received(sender, e):
global LIST_DevToolsSession
LIST_DevToolsSession.append({
'EventName': e.EventName,
'body': e.EventData
})
session.devtools_event_received += on_event_received
# 获取 DevToolsSession_实体
_session = next((s for s in LIST_DevToolsSession if s['Session']['是验证']), None)
if _session:
目标会话 = next((s for s in LIST_DevToolsSession if s['Session']['requestId'] == _session['Session']['requestId'] and s['EventName'] == 'ResponseReceivedExtraInfo'), None)
if 目标会话:
后置令牌_未处理 = 目标会话['Session']['headers']['set-cookie'] # .Replace("\n", ";");
后置令牌 = CookieHelper.GetCookieStrByHeader换行(后置令牌_未处理)
if 后置令牌:
driver.quit()
```
desired_capabilities已被弃用,请传入一个带有选项 kwarg 的选项对象
这个问题是关于 Selenium 库的使用。在较新的版本中,`desired_capabilities` 已经被弃用了,应该使用带有选项 `kwargs` 的选项对象来代替。这个选项对象可以通过 `webdriver.DesiredCapabilities` 类来创建。下面是一个示例代码:
```
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
caps = webdriver.DesiredCapabilities.CHROME.copy()
caps['acceptInsecureCerts'] = True
driver = webdriver.Chrome(desired_capabilities=caps, options=options)
```
在这个示例中,我们创建了一个 Chrome 浏览器选项对象 `options`,并添加了一个 `--headless` 参数,表示无头模式运行浏览器。然后,我们创建了一个 `DesiredCapabilities` 对象 `caps`,并将其设置为接受不安全证书。最后,我们使用这两个选项对象来创建一个 Chrome 浏览器驱动程序。
阅读全文