Selenium WebDriver 连接到 Kameleo 浏览器

Selenium WebDriver connection to Kameleo browser

所以我想出了如何使用 Python 开始并打开 Kameleo 浏览器配置文件。但是,我找到了启动 chrome 浏览器的会话 ID 和端口。我想我有这个,但我的会话 ID 抛出错误。

我期待 /profiles/{guid}/start 端点会 return 一个带有会话 ID 和端口的 JSON 字典,在 profiles/{guid}/status http 下也很好电话。我在 swaggerhub 文档中找不到它。

这是我正在使用的代码

from kameleo.local_api_client.kameleo_local_api_client import KameleoLocalApiClient
from kameleo.local_api_client.builder_for_create_profile import BuilderForCreateProfile

client = KameleoLocalApiClient()
base_profiles = client.search_base_profiles(
    device_type='desktop',
    browser_product='chrome'
)

# Create a new profile with recommended settings
# for browser fingerprinting protection
create_profile_request = BuilderForCreateProfile \
    .for_base_profile(base_profiles[0].id) \
    .set_recommended_defaults() \
    .build()
profile = client.create_profile(body=create_profile_request)

# Start the browser
client.start_profile(profile.id)

根据文档,您不需要手动获取端口和 sessionID,因为您可以通过 Kameleo.CLI.exe 端口连接到浏览器。

如果您继续阅读 README,您会发现一个展示 W3C WebDriver 连接的示例。

# Connect to the running browser instance using WebDriver
options = webdriver.ChromeOptions()
options.add_experimental_option("kameleo:profileId", profile.id)
driver = webdriver.Remote(
    command_executor=f'{kameleoBaseUrl}/webdriver',
    options=options
)

# Use any WebDriver command to drive the browser
# and enjoy full protection from Selenium detection methods
driver.get('https://google.com')

我也可以在 Kameleo's example repository 中找到这段代码。