在 Python 中使用 selenium 处理 Chrome 网上商店确认 window
Using selenium to handle Chrome Web Store confirmation window in Python
我正在尝试编写一个脚本来安装 OneLogin 扩展,因为访问该网站需要 OneLogin。
我可以让 selenium 输入用户名和密码来完成登录本身,但我仍然需要扩展名才能访问该站点,否则将无法加载凭据。我试图将我当前安装的插件转换为 .crx 文件,并让 webdriver 在启动时导入,但它不起作用。浏览器每次仍然询问我是否要安装 OneLogin 扩展。如果您有兴趣,这就是我加载扩展程序的方式。
# load extension
# extension='.../3.4.46_0.crx'
# options = webdriver.ChromeOptions()
# options.add_extension(extension)
所以我选择了另一个选项,即每次创建 webdriver 实例时都安装插件。这种方法我遇到过一个问题。例如,当您尝试安装扩展程序时(任何扩展程序都可以),弹出 window 询问“添加 X?” “它可以......”然后你可以选择“取消”和“添加扩展名”。
我在点击“添加扩展程序”按钮时遇到了问题。我无法检查元素,它什么都不做。旧元素将不起作用,因为它位于不同的位置。我尝试过捕获“警报”方法,但失败了。如果它是 html 的一部分,我怀疑这会起作用,但是新弹出的 window 信息没有在下载页面中编码,可能在 javascript.
后面
我尝试使用 Robot 框架,但它似乎只适用于 Java 版本。此外,selenium 似乎不允许您仅单击坐标 (x,y)。那我现在该怎么办呢?
我犯了一个简单的错误,在加载选项之前启动了 webdriver。现在 chrome 会在启动时预加载插件。
# load extension
extension='/Users/wang.shuochen/Library/Application Support/Google/Chrome/Default/Extensions/ioalpmibngobedobkmbhgmadaphocjdn/3.4.46_0.crx'
options = webdriver.ChromeOptions()
options.add_extension(extension)
driver = webdriver.Chrome(executable_path="/Users/wang.shuochen/Downloads/chromedriver", options=options)
我正在尝试编写一个脚本来安装 OneLogin 扩展,因为访问该网站需要 OneLogin。
我可以让 selenium 输入用户名和密码来完成登录本身,但我仍然需要扩展名才能访问该站点,否则将无法加载凭据。我试图将我当前安装的插件转换为 .crx 文件,并让 webdriver 在启动时导入,但它不起作用。浏览器每次仍然询问我是否要安装 OneLogin 扩展。如果您有兴趣,这就是我加载扩展程序的方式。
# load extension
# extension='.../3.4.46_0.crx'
# options = webdriver.ChromeOptions()
# options.add_extension(extension)
所以我选择了另一个选项,即每次创建 webdriver 实例时都安装插件。这种方法我遇到过一个问题。例如,当您尝试安装扩展程序时(任何扩展程序都可以),弹出 window 询问“添加 X?” “它可以......”然后你可以选择“取消”和“添加扩展名”。
我在点击“添加扩展程序”按钮时遇到了问题。我无法检查元素,它什么都不做。旧元素将不起作用,因为它位于不同的位置。我尝试过捕获“警报”方法,但失败了。如果它是 html 的一部分,我怀疑这会起作用,但是新弹出的 window 信息没有在下载页面中编码,可能在 javascript.
后面我尝试使用 Robot 框架,但它似乎只适用于 Java 版本。此外,selenium 似乎不允许您仅单击坐标 (x,y)。那我现在该怎么办呢?
我犯了一个简单的错误,在加载选项之前启动了 webdriver。现在 chrome 会在启动时预加载插件。
# load extension
extension='/Users/wang.shuochen/Library/Application Support/Google/Chrome/Default/Extensions/ioalpmibngobedobkmbhgmadaphocjdn/3.4.46_0.crx'
options = webdriver.ChromeOptions()
options.add_extension(extension)
driver = webdriver.Chrome(executable_path="/Users/wang.shuochen/Downloads/chromedriver", options=options)