【问题标题】:Selenium WebDriver connection to Kameleo browserSelenium WebDriver 连接到 Kameleo 浏览器
【发布时间】: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)

【问题讨论】:

    标签: selenium selenium-webdriver browser-automation kameleo


    【解决方案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
    猜你喜欢
    • 2017-08-16
    • 1970-01-01
    • 2019-09-19
    • 2018-05-31
    相关资源
    最近更新 更多