针对如何处理selenium中的打印对话框?和selenium打印网页这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展c#–WPF访问打开的打印对话框并关闭它们、GNOME3.20将会看到重
针对如何处理selenium中的打印对话框?和selenium 打印网页这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展c# – WPF访问打开的打印对话框并关闭它们、GNOME 3.20 将会看到重新设计的打印对话框、java selenium操作弹出对话框示例讲解、javascript – 如何创建显示当前网页截图的打印对话框等相关知识,希望可以帮助到你。
本文目录一览:- 如何处理selenium中的打印对话框?(selenium 打印网页)
- c# – WPF访问打开的打印对话框并关闭它们
- GNOME 3.20 将会看到重新设计的打印对话框
- java selenium操作弹出对话框示例讲解
- javascript – 如何创建显示当前网页截图的打印对话框
如何处理selenium中的打印对话框?(selenium 打印网页)
我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试了:
Alert printDialog = driver.switchTo().alert();printDialog.dismiss();
但这没用。我也抓不到它的窗口句柄,因为它不是窗口…
是否可以处理这些对象?如何处理?
答案1
小编典典不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您的选择包括:
- 的
Robot
类,它可以让你“按”键盘上的任何编程(或点击盲目),因此,比方说摆脱对话框中,按Enter
或Esc
。但是,如上所述,任何高级交互都取决于OS /语言/打印机。
// press Escape programatically - the print dialog must have focus, obviously Robot r = new Robot(); r.keyPress(KeyEvent.VK_ESCAPE); r.keyRelease(KeyEvent.VK_ESCAPE);
- AutoIt。这是Windows程序,可用于处理任何系统级自动化。与上述相同。
差不多。如果可以避免出现“打印”对话框,请尝试截取页面的屏幕截图并使用标准Java工具进行打印。
c# – WPF访问打开的打印对话框并关闭它们
但是如果用户打开任何页面的打印对话框,并且不触摸屏幕5分钟,
即使我注销用户并清除所有子元素,打印对话框仍然保留在WPF表单的顶部,并且有人可以继续打印页面用户留下的内容.
我试着用;
Window window = Application.Current.MainWindow;
要么
FocusManager.GetFocusedElement();
但无法实现访问PrintDialog并关闭它.
有没有办法访问它并关闭如果用户没有响应打印对话框?
解决方法
白色项目.
http://white.codeplex.com/wikipage?title=Working%20with%20window&referringTitle=Programming%20using%20white
通过使用应用程序类,我可以访问WPF项目中的所有ModalDialog,并关闭它们.
Application application = White.Core.Application.Attach(Process.GetCurrentProcess().Id); private void dispatcherTimer_Tick(object sender,EventArgs e) { White.Core.UIItems.WindowItems.Window window = application.Getwindow("MainWindow"); List<White.Core.UIItems.WindowItems.Window> modalWindows = window.ModalWindows(); foreach (White.Core.UIItems.WindowItems.Window modalWindow in modalWindows) { modalWindow.Close(); } }
GNOME 3.20 将会看到重新设计的打印对话框
GNOME 项目正准备发布 3.18 分支,开发人员仍在做着最后的工作,尽管对于某些人来讲可能还是有些晚了。新的打印对话框 Jobs Dialog 已经加入进来,现在看起来已经相当不错。
其实GNOME软件栈是由成百上千组件组成的,很多人觉得打印对话框根本没必要做什么升级,不过GNOME开发者大概是期望让每件事都非常和谐。
开 发者Felipe Borges是这么说的:“在Red Hat的第一周,我开始处理GNOME Control Center控制中心的打印面板。我的第一个任务是重写打印Jobs Dialog对话框,令其与最新的设计相吻合。这是个比较大的UI变化,而且临近发布,新设计可能会进入到GNOME 3.20。”
虽说这的确是个相当细微的变化,但对每次新版GNOME的发布而言,各部分的堆砌才形成了现在我们看到的样子。当前GNOME 3.18功能已冻结,我们大概要等到2016年才会看到此变化。
(看不到视频点这里)
java selenium操作弹出对话框示例讲解
Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型
阅读目录
- 对话框类型
- 测试页面
- Selenium 操作对话框的代码
对话框类型
1. 警告框: 用于提示用户相关信息的验证结果,错误或警告等
2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮
3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮
测试页面
用如下页面为例进行讲解, 包括了警告框,提示框,确认框
http://sislands.com/coin70/week1/dialogBox.htm
Selenium 操作对话框的代码
public static void testAlert(WebDriver driver) { String url="http://sislands.com/coin70/week1/dialogBox.htm"; driver.get(url); WebElement alertButton = driver.findElement(By.xpath("//input[@value='alert']")); alertButton.click(); Alert javascriptAlert = driver.switchTo().alert(); System.out.println(javascriptAlert.getText()); javascriptAlert.accept(); } public static void testPrompt(WebDriver driver) throws Exception { String url="http://sislands.com/coin70/week1/dialogBox.htm"; driver.get(url); WebElement promptButton = driver.findElement(By.xpath("//input[@value='prompt']")); promptButton.click(); Thread.sleep(2000); Alert javascriptPrompt = driver.switchTo().alert(); javascriptPrompt.sendKeys("This is learning Selenium"); javascriptPrompt.accept(); System.out.println(javascriptPrompt.getText()); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.accept(); Thread.sleep(2000); promptButton.click(); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.dismiss(); Thread.sleep(2000); javascriptPrompt=driver.switchTo().alert(); javascriptPrompt.accept(); } public static void testConfirm(WebDriver driver) throws Exception { String url="http://sislands.com/coin70/week1/dialogBox.htm"; driver.get(url); WebElement confirmButton = driver.findElement(By.xpath("//input[@value='confirm']")); confirmButton.click(); Thread.sleep(2000); Alert javascriptConfirm = driver.switchTo().alert(); javascriptConfirm.accept(); Thread.sleep(2000); javascriptConfirm = driver.switchTo().alert(); javascriptConfirm.accept(); }
以上就是对 java selenium操作弹出对话框的资料整理,后续继续补充,谢谢大家对本站的支持!
您可能感兴趣的文章:
- java swing标准对话框具体实现
- Java中对话框的弹出方法
javascript – 如何创建显示当前网页截图的打印对话框
我在this page尝试了WP-Screenshot插件.该插件输出了一个截图,可以通过添加打印对话插件打印出来.但是,WP-Screenshot生成的图像高度不能动态,所以我想我需要找到另一个解决方案.
我找不到一个具有打印当前网页功能的插件,其中所有样式都保留在打印对话框中.所以我认为截图可能有效.
有什么想法或建议吗?
解决方法
为了更好地理解,请访问window.print()
关于如何处理selenium中的打印对话框?和selenium 打印网页的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于c# – WPF访问打开的打印对话框并关闭它们、GNOME 3.20 将会看到重新设计的打印对话框、java selenium操作弹出对话框示例讲解、javascript – 如何创建显示当前网页截图的打印对话框的相关知识,请在本站寻找。
本文标签: