def launch(self, _job, task):
"""Launch the browser"""
if self.job['message_server'] is not None:
self.job['message_server'].flush_messages()
try:
logging.debug('Launching Edge : %s', self.path)
self.driver = self.get_driver(task)
self.driver.set_page_load_timeout(task['time_limit'])
if 'browserVersion' in self.driver.capabilities:
self.browser_version = self.driver.capabilities['browserVersion']
self.driver.get(self.start_page)
logging.debug('Resizing browser to %dx%d', task['width'], task['height'])
self.driver.set_window_position(0, 0)
self.driver.set_window_size(task['width'], task['height'])
# Start the relay agent to capture ETW events
wpt_etw_path = os.path.join(os.path.abspath(os.path.dirname(__file__)),
'support', 'edge', 'wpt-etw', 'wpt-etw.exe')
if os.path.isfile(self.wpt_etw_done):
try:
os.remove(self.wpt_etw_done)
except Exception:
pass
from .os_util import run_elevated
self.wpt_etw_proc = run_elevated(wpt_etw_path,
'--bodies "{0}"'.format(self.bodies_path),
wait=False)
self.wait_for_extension()
if self.extension_loaded:
DesktopBrowser.wait_for_idle(self)
else:
task['error'] = 'Error waiting for wpt-etw to start. Make sure .net is installed'
except Exception as err:
task['error'] = 'Error starting Microsoft Edge: {0}'.format(err.__str__())
评论列表
文章目录