Selenium WebDriver 连接到 Kameleo 浏览器
Posted
技术标签:
【中文标题】Selenium WebDriver 连接到 Kameleo 浏览器【英文标题】:Selenium WebDriver connection to Kameleo browser 【发布时间】:2021-11-23 00:40:41 【问题描述】:所以我已经弄清楚了如何开始使用 Python 打开 Kameleo 浏览器配置文件。但是,我找到了启动 chrome 浏览器的会话 ID 和端口。我想我有这个,但我的会话 ID 抛出错误。
我期待 /profiles/guid/start
端点会返回一个带有会话 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)
【问题讨论】:
【参考方案1】:根据文档,您不需要手动获取端口和 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 中找到此代码。
【讨论】:
要使用示例中的webdriver变量,首先运行pip install selenium
然后from selenium import webdriver
以上是关于Selenium WebDriver 连接到 Kameleo 浏览器的主要内容,如果未能解决你的问题,请参考以下文章
远程 Selenium WebDriver 不响应 Cucumber 测试
无法通过 perl 绑定连接 selenium webDriver