python - Selenium Browserstack session 中出现问题 : loading existing Chrome profile

标签 python selenium google-chrome whatsapp browserstack

我正在 Browserstack Automate 上远程使用 Selenium (Python) 运行测试。

目标:我想在 Browserstack 上启动一个 session ,并登录现有的 Chrome 配置文件。

  • -- 基本目标:我尝试访问 Whatsapp Web,而不必每次都扫描 QR 码。 (构建自动化 Whatsapp 服务)

因此,第一次创建一个新的配置文件就可以了 - 扫描一次二维码,然后重新使用该配置文件。

方法:我尝试使用 Chrome 选项,并为 user-data-dir 指定一个参数。这是受到其他几个 StackOverflow 答案的启发。

代码:

desired_caps = {
    'browser': 'Chrome',
    'browser_version': '69.0 beta',
    'os': 'Windows',
    'os_version': '10',
    'resolution': '1024x768',
    'browserstack.debug': 'true',
}
desired_caps['browserstack.local'] = True
desired_caps['chromeOptions'] = {}       
desired_caps['chromeOptions']['args'] = [r'--user-data-dir=C:\Users\gille\AppData\Local\Google\Chrome\User Data']
driver = webdriver.Remote(command_executor='http://MYBROWSERSTACKHUB', desired_capabilities=desired_caps)

我试图在 Browserstack 上(本地)运行它,但运行时出现以下错误:

“无法初始化类 org.openqa.selenium.os.Kernel32”

See image with Browserstack error

我尝试指定一个尚不存在的新随机配置文件,例如:

desired_caps['chromeOptions']['args'] = [r'--user-data-dir=C:\Users\gille\AppData\Local\Google\Chrome\User Data\ProfileXXX']

但是弹出同样的错误。

(我还尝试了其他对我不起作用的方法: - 保存和重新加载cookie - 更改session_id和session_url(在Browserstack上不起作用))

我的感觉是: - 或者这可能是 Browserstack 的问题, - 或者我包含了错误的 user-data-dir 路径,并且应该使用不同的路径,例如chrome_options.add_argument("user-data-dir="+ os.path.dirname(sys.argv[0])

但我对最后一个不熟悉 - 所以我不确定下一步要采取什么。 你有什么建议吗?

最佳答案

使用如下所示的大写字母:

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(CloudConfiguration.URL), caps);

关于python - Selenium Browserstack session 中出现问题 : loading existing Chrome profile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52767466/

相关文章:

python - 我可以用 Scrapy 填写网页表单吗?

python - 分析 Python 脚本时按 percall 对 cProfile 输出进行排序

C# 如何从 NoSuchElementException 获取方法和选择器

google-chrome - Chrome 网上应用店应用内付款 : Errors getting SKUs

google-chrome - 如何在 Chrome 调试器中查找下一次出现的表达式?

python - 隐藏 pandas DataFrame 中的重复行

python - 提取搜索词周围的词

java - Selenium Webdriver 和 findelement

java - 使用 selenium、java 在 chrome 驱动程序中禁用 css 渲染

javascript - Chrome 触发滚动事件