当前位置: 首页 > 面试题库 >

使用Selenium WebDriver访问和处理Chrome扩展程序弹出窗口

闾丘永春
2023-03-14
问题内容

我正在尝试使用Selenium Webdriver安装IBM DAP
chrome扩展。我无权访问crx文件。因此,我尝试通过chrome网站商店直接将其安装为插件,如下所示:

browser = webdriver.Chrome()
browser.get('https://chrome.google.com/webstore/detail/dynamic-assessment-plugin/fnapgcgphlfhecijolobjodbbnjjpdga')
browser.maximize_window()
browser.implicitly_wait(5)
browser.find_element_by_css_selector("body > div.F-ia-k.S-ph.S-pb-qa > div.h-F-f-k.F-f-k > div > div > div.e-f-o > div.h-e-f-Ra-c.e-f-oh-Md-zb-k > div > div").click()
browser.switch_to_alert().accept()

但是此代码无法访问弹出窗口,并且无法单击“添加扩展名”按钮。如何访问弹出窗口并单击“添加扩展名”?


问题答案:

遵循@Navarasu解决方案后,我从此处复制了pyrobot.py文件。对我来说,它工作得很好。

from pyrobot import Robot
from selenium import webdriver
import time

browser = webdriver.Chrome()
browser.get('https://chrome.google.com/webstore/detail/dynamic-assessment-plugin/fnapgcgphlfhecijolobjodbbnjjpdga')
browser.maximize_window()
browser.implicitly_wait(15)
browser.find_element_by_css_selector("[aria-label='Add to Chrome']").click()

time.sleep(3)
rob = Robot()
rob.key_press('tab')
rob.key_press('enter')


 类似资料:
  • 我想为我的浏览器扩展写一个验收测试。我尝试通过selenium启动扩展,但似乎无法访问Popup的内容。有人能建议我如何用selenium或任何其他方法来为浏览器扩展编写UI/验收测试吗?多谢了。

  • 问题内容: 我遇到的一种情况是,单击链接网页会打开一个弹出窗口。并且在弹出窗口打开之后,焦点位于弹出窗口中,并且主窗口被禁用。而且我无法将控件转移到弹出窗口。请看下面的代码。 我无法将控件从父窗口转移到弹出窗口。我知道以下命令。 但是它没有太大帮助。请帮我。 问题答案: 当我需要使用以下弹出窗口,关闭它并返回主窗口时,这是我使用的代码。当然,出于此答案的目的已对其进行了简化。它维护原始窗口(主窗口

  • 我正在开发一个chrome扩展,遇到了一个大问题。 奇怪的是,我可以访问iframe的html。因此,这段代码在chrome扩展中可以完美地工作: 我尝试将“all_frames”:true放入清单文件中,但没有成功:(

  • 我刚刚开始使用和开发应用程序的自动化框架。当我转到url时,会显示一个登录弹出窗口,询问凭据(用户名、密码)。 我已经能够在上处理这个问题,使用 但是,此解决方案对或不起作用。我也试过 而且 而这似乎也行不通。

  • 问题内容: 我的Go Web应用程序中有一个相当快捷的错误处理程序,它会引发HTTP错误,记录响应的重要部分并提供错误模板。我想删除在处理程序中多次编写类似代码的重复: 我已经阅读了Error Handling and Go文章,其中定义了一个自定义HTTP处理程序类型,该类型将返回这样的错误类型/结构(甚至返回int,err): 但是我不确定如何保留现有的中间件功能/包装,使我可以像这样链接中间

  • 我的默认设置上有一个按钮。启动“条款和条件”模式弹出窗口(popup1)的aspx。然后,我在模式弹出窗口上有一个按钮,在顶部(我的条款和条件第2页)启动另一个模式弹出窗口(popup2)。 我想添加一个后退按钮到modalpopup2关闭popup2,并显示modalpopup1,所以用户有从popup2前进/后退选项。 我添加了“纽扣背”,并尝试。。。 但这只是重定向回我的默认设置。aspx。