启动Firefox并等待其关闭

启动Firefox并等待其关闭,第1张

启动Firefox并等待其关闭

这是一个示例程序,可以通过某种方式设法证明硒库满足您所需的功能。您需要下载selenium库并将其设置为IDE,然后才能运行此程序。

该程序允许您单击一个按钮。然后,Firefox浏览器会自动打开并在几秒钟内启动一个网站。网站正在加载中,请稍候。之后,您可以关闭Firefox浏览器。该程序还将在2秒后自动关闭。

import java.awt.BorderLayout;import java.awt.FlowLayout;import java.net.ConnectException;import javax.swing.*;import org.openqa.selenium.NoSuchWindowException;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;public class AnotherTest extends Jframe {    WebDriver driver;    JLabel label;    public AnotherTest() {        super("Test");        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width - 400) / 2, (screenSize.height - 100) / 2, 400, 100);        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);        setLayout(new BorderLayout());        addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) {     quitApplication(); }        });        JButton jButton1 = new javax.swing.JButton();        label = new JLabel("");        JPanel panel = new JPanel(new FlowLayout());        panel.add(jButton1);        add(panel, BorderLayout.CENTER);        add(label, BorderLayout.SOUTH);        jButton1.setText("Open Microsoft");        jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {     label.setText("Loading browser. Please wait..");     java.util.Timer t = new java.util.Timer();     t.schedule(new java.util.TimerTask() {         @Override         public void run() {  openBrowserAndWait();         }     }, 10); }        });    }    private void openBrowserAndWait() {        driver = new FirefoxDriver();        String baseUrl = "https://www.microsoft.com";        driver.get(baseUrl);        java.util.Timer monitorTimer = new java.util.Timer();        monitorTimer.schedule(new java.util.TimerTask() { @Override public void run() {     while (true) {         checkDriver();         try {  Thread.sleep(2000);         } catch (InterruptedException ex) {         }     } }        }, 10);    }    private void checkDriver() {        if (driver == null) { return;        }        boolean shouldExit = false;        try { label.setText(driver.getTitle());        } catch (NoSuchWindowException e) { System.out.println("Browser has been closed. Exiting Program"); shouldExit = true;        } catch (Exception e) { System.out.println("Browser has been closed. Exiting Program"); shouldExit = true;        }        if (shouldExit) { this.quitApplication();        }    }    private void quitApplication() {        // attempt to close gracefully        if (driver != null) { try {     driver.quit(); } catch (Exception e) { }        }        System.exit(0);    }    public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() { public void run() {     new AnotherTest().setVisible(true); }        });    }}

Selenium主要用于测试Web应用程序的自动化。它可以直接打开浏览器并读取其中的html内容。有关其他信息,请参见http://www.seleniumhq.org/。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5130201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存