Kameleo 自动化 - 在创建配置文件时获得一个独特且随机的 Chrome 版本

Posted

技术标签:

【中文标题】Kameleo 自动化 - 在创建配置文件时获得一个独特且随机的 Chrome 版本【英文标题】:Kameleo Automation - get a unique and random Chrome version when creating profiles 【发布时间】:2021-11-23 00:25:59 【问题描述】:

我正在使用 Kameleo 的 local-api-client-python 和 Selenium 来自动生成浏览器配置文件和浏览器操作。

我注意到,当我使用相同的 chrome 版本自动创建配置文件时,我如何才能使其成为唯一且随机的?

我使用的是自述文件中提供的example code,但每次创建 Chrome 时都使用相同的版本。我需要不同的版本

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】:

当你打电话时

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

它将针对给定的过滤条件返回 25 个基本配置文件。列表的前几个元素将具有最新版本的 Chrome,但如果您从列表中选择另一个元素,您也可以获得旧版本。

要每次获取带有随机 Chrome 版本的配置文件,您可以从这里更改以下代码:

create_profile_request = BuilderForCreateProfile \
    .for_base_profile(base_profiles[0].id) \
    .set_recommended_defaults() \
    .build()

到这里:

create_profile_request = BuilderForCreateProfile \
    .for_base_profile(random.choice(base_profile).id \
    .set_recommended_defaults() \
    .build()

还有import random在文件的顶部

【讨论】:

以上是关于Kameleo 自动化 - 在创建配置文件时获得一个独特且随机的 Chrome 版本的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kameleo 的无头模式的附加镀铬选项

怎么在tomcat启动时自动执行一个java类 获得本项目服务器的IP和端口

如何创建DHCP中继让电脑自动获得IP?(化为)

idea中创建Java类时,自动在文件头中添加作者和创建时间

Linux:bashd的环境配置文件

spring框架是怎么样通过properties来获得对象的?