首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Selenium Webdriver打开应用程序(如zoom.us)

使用Selenium Webdriver打开应用程序(如zoom.us)
EN

Stack Overflow用户
提问于 2020-05-05 13:28:25
回答 2查看 1.9K关注 0票数 1

我希望能够使用纯selenium webdriver在Chrome中打开缩放链接,然后重定向到zoom.us应用程序。

当我执行以下命令时:

代码语言:javascript
复制
from selenium import webdriver


def main():
    driver = webdriver.Chrome()
    driver.get("https://zoom.us/j/000-000-000")


main()

我收到一个弹出窗口,上面写着

代码语言:javascript
复制
https://zoom.us wants to open this application.

我必须按一个标题为open zoom.us的按钮才能打开这个应用程序。

有没有办法通过selenium点击这个弹出式按钮。或者,有没有其他方法可以从chromedriver打开zoom?

注意:我只想使用selenium。我已经能够实现pyautogui来点击按钮,但这不是我要找的。

EN

回答 2

Stack Overflow用户

发布于 2020-05-07 19:12:13

针对Java的解决方案:

代码语言:javascript
复制
driver.switchTo().alert().accept();

Python解决方案:

代码语言:javascript
复制
driver.switch_to.alert.accept()
票数 0
EN

Stack Overflow用户

发布于 2020-06-25 16:41:02

关于这个问题有很多重复的问题。下面是them的一个例子,可以肯定的是selenium无法完成这项工作,因为它只与chrome页面交互。我以前也遇到过这个问题,下面是我的解决方案。它可能看起来非常不专业,但幸运的是它是有效的。

我的解决方案的逻辑是更改chrome的设置,以便跳过弹出窗口,直接打开您想要的应用程序。然而,由于某些原因,Chrome团队在后一版本中删除了这一功能,我们需要手动恢复它。然后,我们知道每次selenium开始做这件事时,它都会打开一个新的Chrome页面,没有自定义设置,就像匿名页面一样。因此,我们需要做一些事情,让selenium使用您的自定义设置打开一个Chrome页面,这样我们就可以确保成功跳过我们手动更改为跳过的弹出窗口。

  1. 在终端中键入以下代码。

默认情况下写入com.google.Chrome ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true

这使您可以更改跳过弹出窗口的设置,这是Chrome团队删除的功能。

  1. 重启Chrome,然后打开缩放(或任何应用程序)页面以显示弹出窗口。如果你正确地完成了第一步,你将能够看到在“打开Zoom.us”旁边有一个复选框,说如果你选中它,chrome将在没有询问的情况下打开这个应用程序,也就是说,跳过这个应用程序的弹出窗口。

  1. 现在我们需要让selenium使用我们的自定义设置打开Chrome。为此,在您的普通Chrome (不是selenium自动打开的页面)的搜索选项卡中输入"chrome://version“。转到“配置文件路径”,复制此路径,不带最后一个单词"default“。例如:

/Users/MYNAME/Library/Application Support/Google/Chrome/Default

这是我的配置文件路径,但我只复制除了最后一个单词Default之外的所有内容,所以这就是我需要复制的内容。

/Users/MYNAME/Library/Application Support/Google/Chrome/

这是为Mac用户准备的,但对于Windows系统,路径是不同的(以C://等开头),步骤是相同的。

来自selenium的驱动程序从selenium.webdriver.common.keys导入webdriver从selenium.webdriver.chrome.options导入密钥导入选项选项= Options() option.add_argument(‘您刚才复制的路径’) driver =webdriver.Chrome(executable_ PATH =‘您的CHROMEDRIVER路径’,options=option) driver.get("google.com") #或任何其他选项

我们使用“选项”让selenium使用我们的自定义配置文件打开一个页面。现在你会看到selenium打开了一个Chrome页面,上面有你所有的账户配置文件和设置,它就像你的普通chrome页面一样。

  1. 运行您的代码。但在此之前,请记住手动退出所有CHROME会话。对于Mac,请确保Chrome图标下没有表示Chrome在任何情况下都未运行的圆点。这一步很关键,否则selenium会打开一个chrome页面,然后就停在那里。

下面是所有的步骤。同样,这个解决方案是非常非正式的,我个人认为它不是这个问题的“解决方案”。我将在未来尝试找到更好的方法来实现这一点。但我仍然把这篇文章作为另一种选择,因为我想这对像我这样的人可能会有一定的帮助。希望它能为你工作,祝你好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61606333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档