GVKun编程网logo

如何处理selenium中的打印对话框?(selenium 打印网页)

19

针对如何处理selenium中的打印对话框?和selenium打印网页这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展c#–WPF访问打开的打印对话框并关闭它们、GNOME3.20将会看到重

针对如何处理selenium中的打印对话框?selenium 打印网页这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展c# – WPF访问打开的打印对话框并关闭它们、GNOME 3.20 将会看到重新设计的打印对话框、java selenium操作弹出对话框示例讲解、javascript – 如何创建显示当前网页截图的打印对话框等相关知识,希望可以帮助到你。

本文目录一览:

如何处理selenium中的打印对话框?(selenium 打印网页)

如何处理selenium中的打印对话框?(selenium 打印网页)

我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试了:

Alert printDialog = driver.switchTo().alert();printDialog.dismiss();

但这没用。我也抓不到它的窗口句柄,因为它不是窗口…

是否可以处理这些对象?如何处理?

答案1

小编典典

不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您的选择包括:

  • Robot类,它可以让你“按”键盘上的任何编程(或点击盲目),因此,比方说摆脱对话框中,按EnterEsc。但是,如上所述,任何高级交互都取决于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访问打开的打印对话框并关闭它们

c# – WPF访问打开的打印对话框并关闭它们

我有一个 WPF应用程序,需要在5分钟不活动后注销用户.

但是如果用户打开任何页面的打印对话框,并且不触摸屏幕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.20 将会看到重新设计的打印对话框

GNOME 项目正准备发布 3.18 分支,开发人员仍在做着最后的工作,尽管对于某些人来讲可能还是有些晚了。新的打印对话框 Jobs Dialog 已经加入进来,现在看起来已经相当不错。

http://static.cnbetacdn.com/article/2015/0909/6b2f14a05e626d4.jpg

其实GNOME软件栈是由成百上千组件组成的,很多人觉得打印对话框根本没必要做什么升级,不过GNOME开发者大概是期望让每件事都非常和谐。

开 发者Felipe Borges是这么说的:“在Red Hat的第一周,我开始处理GNOME Control Center控制中心的打印面板。我的第一个任务是重写打印Jobs Dialog对话框,令其与最新的设计相吻合。这是个比较大的UI变化,而且临近发布,新设计可能会进入到GNOME 3.20。”

虽说这的确是个相当细微的变化,但对每次新版GNOME的发布而言,各部分的堆砌才形成了现在我们看到的样子。当前GNOME 3.18功能已冻结,我们大概要等到2016年才会看到此变化。

(看不到视频点这里)

java selenium操作弹出对话框示例讲解

java selenium操作弹出对话框示例讲解

Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型

阅读目录

  1. 对话框类型
  2. 测试页面
  3. 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 – 如何创建显示当前网页截图的打印对话框

javascript – 如何创建显示当前网页截图的打印对话框

我只是想知道是否有简单的方法为wordpress创建一个打印对话框,在打印对话框中输出网页的实际视图. P也许整页截图可能会有效,只要它具有整页的高度.

我在this page尝试了WP-Screenshot插件.该插件输出了一个截图,可以通过添加打印对话插件打印出来.但是,WP-Screenshot生成的图像高度不能动态,所以我想我需要找到另一个解决方案.

我找不到一个具有打印当前网页功能的插件,其中所有样式都保留在打印对话框中.所以我认为截图可能有效.

有什么想法或建议吗?

解决方法

要打印页面并获取打印对话框,您只需使用window.print()

为了更好地理解,请访问window.print()

关于如何处理selenium中的打印对话框?selenium 打印网页的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于c# – WPF访问打开的打印对话框并关闭它们、GNOME 3.20 将会看到重新设计的打印对话框、java selenium操作弹出对话框示例讲解、javascript – 如何创建显示当前网页截图的打印对话框的相关知识,请在本站寻找。

本文标签: