Задача следующая, необходимо 10 раз с промежутком в 20 секунд запускать браузер с новой страницей ( для упрощения в примере ниже я сделал просмотр одной и тойже страницы ). Когда я для теста работал без “threading”, браузер открывается нормально. Но когда я добавил threading.Timer код стал выдавать ошибку “cefpython.CreateBrowserSync() may only be called on the UI thread”. Я погуглил, там пишут что CreateBrowserSync можно запускать только в потоке пользовательского интерфейса, а что-то не как не могу сообразить как решить эту проблему, помогите плиз.
Мой файл имеет следующий код
import os
import wx
import cefpython3.wx.chromectrl as chrome
import threading
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, id=wx.ID_ANY,
title='cefwx example1', size=(600,400))
def openBrowser(self):
self.cefWindow = chrome.ChromeWindow(self,
url="http://ya.ru")
sizer = wx.BoxSizer()
sizer.Add(self.cefWindow, 1, wx.EXPAND, 0)
self.SetSizer(sizer)
if __name__ == '__main__':
chrome.Initialize({})
app = wx.PySimpleApp()
m = MainFrame()
m.Show()
for i in range(10):
t = threading.Timer(20.0, m.openBrowser)
t.start()
app.MainLoop()
del app
chrome.Shutdown()