我从Windows窗体启动Selenium。一旦selenium启动,表单将被冻结,直到Selenium完成,然后UI更新并再次单击。
启动驱动程序的代码:
using(var drivers = new PhantomJSDriver(@"C:\Users\Me\Documents"))
如何在PhantomJS运行时让UI响应?
答案 0 :(得分:1)
当PhantomJS在运行时,如何让UI响应 背景
不确定您是否在单独的线程中运行它们(因为您标记了C#
);如果是,那么请确保您没有等待该线程。意味着,如果您使用的是System.Threading.Thread
,那么如果您使用Join()
,则不会对线程实例(OR)进行Task
方法调用,那么您不会调用WaitAll()
}或WaitAny()
。因为,如果它存在意味着您的UI线程实际上正在等待bg线程完成,然后才能启动它自己的处理,这是您不想做的事情。
根据您的评论:在这种情况下,您可以选择在与UI线程不同的线程上运行PhantomJS
。您可以使用System.Threading.Tasks.Task
来实现此目的。