我希望能够使用纯selenium webdriver在Chrome中打开缩放链接,然后重定向到zoom.us应用程序。
当我执行以下命令时:
from selenium import webdriver
def main():
driver = webdriver.Chrome()
driver.get("https://zoom.us/j/000-000-000")
main()我收到一个弹出窗口,上面写着
https://zoom.us wants to open this application.我必须按一个标题为open zoom.us的按钮才能打开这个应用程序。
有没有办法通过selenium点击这个弹出式按钮。或者,有没有其他方法可以从chromedriver打开zoom?
注意:我只想使用selenium。我已经能够实现pyautogui来点击按钮,但这不是我要找的。
发布于 2020-05-07 19:12:13
针对Java的解决方案:
driver.switchTo().alert().accept();Python解决方案:
driver.switch_to.alert.accept()发布于 2020-06-25 16:41:02
关于这个问题有很多重复的问题。下面是them的一个例子,可以肯定的是selenium无法完成这项工作,因为它只与chrome页面交互。我以前也遇到过这个问题,下面是我的解决方案。它可能看起来非常不专业,但幸运的是它是有效的。
我的解决方案的逻辑是更改chrome的设置,以便跳过弹出窗口,直接打开您想要的应用程序。然而,由于某些原因,Chrome团队在后一版本中删除了这一功能,我们需要手动恢复它。然后,我们知道每次selenium开始做这件事时,它都会打开一个新的Chrome页面,没有自定义设置,就像匿名页面一样。因此,我们需要做一些事情,让selenium使用您的自定义设置打开一个Chrome页面,这样我们就可以确保成功跳过我们手动更改为跳过的弹出窗口。
默认情况下写入com.google.Chrome ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true
这使您可以更改跳过弹出窗口的设置,这是Chrome团队删除的功能。
/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页面一样。
下面是所有的步骤。同样,这个解决方案是非常非正式的,我个人认为它不是这个问题的“解决方案”。我将在未来尝试找到更好的方法来实现这一点。但我仍然把这篇文章作为另一种选择,因为我想这对像我这样的人可能会有一定的帮助。希望它能为你工作,祝你好运。
https://stackoverflow.com/questions/61606333
复制相似问题