我创建了一个swing应用程序,它实际上将使用selenium来监视网站上显示的字段值,并将结果记录到文件中。我使用swing GUI的原因是允许用户通过将其添加到JList来轻松输入他们希望监视的字段。
一切正常,但是当我点击“开始监控”按钮(创建一个selenium线程并运行它)时,selenium线程完全接管并且不允许与swing GUI进行任何交互。
我希望摆动GUI上的一个按钮“停止监测”以停止硒,但这是不可能的,因为我在selenium运行时无法与摆动GUI交互。
先谢谢
答案 0 :(得分:3)
您的selenium代码锁定了EDT或事件调度线程,Swing的主线程用于用户交互和GUI绘制。解决方案是在后台线程中调用selenium代码,例如使用SwingWorker对象。您可以在SwingWorker教程中详细了解如何执行此操作:Concurrency in Swing
修复后,您应该能够“停止监控”JButton工作。