当前位置: 首页 > 知识库问答 >
问题:

无法聚焦于弹出窗口

邢起运
2023-03-14

我正试图打开一个弹出身份验证对话框的ftp页面。我正在使用Robot类的Keypress事件输入身份验证细节。但是在这里,如果焦点不在那个弹出窗口上,那么它在另一个处于焦点中的窗口中键入身份验证详细信息。由于这个弹出窗口不是web元素,我不能使用driver.switchto().window(),因为这里我需要传递windowhandle,我没有得到它。如果我可以点击驱动程序窗口,我的焦点将转移到身份验证弹出的用户id文本框。请建议一种方法来点击驱动程序窗口,我不知道任何元素,除了标题的窗口。或者其他处理窗口弹出的方法。

共有1个答案

钱朝明
2023-03-14

可以在Robot类中使用坐标:

robot.mouseMove(1005,10);
robot.mousePress(InputEvent.BUTTON1_MASK);

然后使用按键

http://www.developer.com/java/other/article.php/10936_2212401_2/introadtion-to-the-java-robot-class-in-java.htm

public class selectHiddenWindow {
  public interface User32 extends W32APIOptions {   
     User32 instance = (User32) Native.loadLibrary("user32", User32.class, DEFAULT_OPTIONS);  

     boolean ShowWindow(HWND hWnd, int nCmdShow); 
     boolean SetForegroundWindow(HWND hWnd);  
     HWND FindWindow(String winClass, String title);  
     int SW_SHOW = 1;              
}  

public static void main(String[] args) {  
   User32 user32 = User32.instance;  
   HWND hWnd = user32.FindWindow(null, "your title");  
   user32.ShowWindow(hWnd, User32.SW_SHOW);  
   user32.SetForegroundWindow(hWnd);  
}

来源:http://www.coderanch.com/t/562454/java/java/findwindow-showwindow-setforegroundwindow-effect-win

 类似资料:
  • 我有一个tkinter GUI python代码,它为我的代码创建了一个GUI接口,在稍后的代码中使用了声音工具包(它也使用Tk,并使用root=Tk()创建了一个实例)。因为,以前GUI应用程序的主循环已经在运行,所以每当调用snack函数时,就会弹出一个新的空默认tk窗口。由于这种情况经常发生,所以当代码执行时,屏幕上有数百个空tk窗口。我曾尝试使用多种方法关闭它们。毁灭,根。撤消、WM_删除

  • 问题内容: 我的项目包括Selenium Webdriver,JAVA,Maven,TestNG,Jenkins,Allure(报告)。我有几套包含100多个测试用例的测试,并通过3种不同的浏览器进行了迭代(测试使用TestNG并行运行)。 除非我实际上正在观察窗口并查看测试运行,否则无法通过一项测试。 我将解释: 我要测试什么? 我们的JS开发人员创建了一项功能,仅当用户将焦点放在窗口上时,图像

  • 在谷歌Chrome中,一些客户无法进入我的支付页面。当尝试提交表单时,我遇到以下错误: name=''的无效窗体控件不可聚焦。 这是来自JavaScript控制台的。 我读到这个问题可能是由于隐藏的字段具有必需的属性。现在的问题是,我们使用的是.NET webforms required字段验证器,而不是html5 required属性。 谁得到这个错误似乎是随机的。有没有人知道解决这个问题的办法

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

  • 继承自 NativeObject 所有弹出式UI元素(pop-ups)的基类。弹出式UI元素比所有其他UI的层级都高,但不属于控件。某些弹出式UI只能弹出一次。 通过 “const {Popup} = require('tabris');” 引入该类 方法 close() 返回值: this 隐藏弹出窗。 open() 返回值: this 显示弹出窗。

  • 问题内容: 我想使用Firefox浏览器,使用RSelenium从网站下载文件。我正确地完成了所有操作(导航,选择正确的元素并写下我想要的内容);现在,我单击“下载”按钮,然后打开一个Firefox弹出窗口,并询问我是否要下载文件或“用…打开”。 不幸的是,由于隐私限制,我无法编写示例。 我的问题是:如何在需要时切换到弹出窗口/警报并单击“确定”? 我尝试了以下方法,但均未成功: 我也试过了 但是