提问人:sunil shrestha 提问时间:10/23/2018 最后编辑:sunil shrestha 更新时间:10/23/2018 访问量:2022
如何使用 selenium python 使检查窗口处于活动状态?
How to make inspect window active using selenium python?
问:
我正在尝试在 chrome 浏览器中自动执行插件。它需要打开一个检查窗口,并在检查窗口上执行操作。我能够使用机器人类打开检查窗口并在检查 GUI 元素之间导航,但无法在检查窗口中执行 HTML DOM 操作。检查窗口包含 iframe,但我无法从主页切换到这些 iframe。当我尝试在活动页面上列出 iframe 时,它只显示主页中的 iframe,而不是检查窗口中的 iframe。我想切换到使用 iframe 或任何其他方式(如果有的话)检查窗口。到目前为止,我编写的代码是
from pyrobot import Robot
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
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)
robot = Robot()
robot.addExtension() # customized Robot class to add extension
robot.newtab() # customized Robto class for new tab
browser.switch_to.window(browser.window_handles[1])
browser.get('http://www.walmart.com')
time.sleep(8)
robot.inspectElement() # Customized Robot class for inspecting (Ctrl+shift+i)
答:
1赞
Ashish Kamble
10/23/2018
#1
当您在 C# 中创建 chromedriver 对象时,这将起作用,您需要通过在 chromeoptions 中添加参数来提供配置文件,
ChromeOptions options = new ChromeOptions();
options.AddArguments("--auto-open-devtools-for-tabs");
browser = new ChromeDriver(DrivePath, options, TimeSpan.FromSeconds(100));
您也可以尝试按F12,它将打开检查窗口 然后你可以使用机器人类或Windows。用于自动化脚本的表单库可管理多个窗口表单。
您的代码是 python 的,为 java 和 C# 提供了相同的答案。
您也可以在以下位置参考更多信息:
评论
0赞
sunil shrestha
10/23/2018
我想这个问题你不清楚。我可以打开检查窗口,但无法在检查窗口中选择元素。
0赞
sunil shrestha
10/25/2018
你怎么能说“你不需要通过检查元素来选择元素”?该插件附加到包含 HTML DOM 的检查窗口。我需要在检查窗口中切换到框架。这不是要结束问题,而是一个真正的问题,到目前为止,SO 中还没有关于这个问题的讨论。
0赞
Sébastien De Spiegeleer
9/26/2021
你@sunilshrestha实现了你的目标?如果是这样,如何?我也在研究这个问题。谢谢!
评论