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 中找到这段代码。
所以我想出了如何使用 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 中找到这段代码。