Source code for rpyc_docker.rpyc_browser_worker
from rpyc_docker.rpyc_worker import RpycWorker
import rpyc_docker.browser,os.path
import logging,rpyc,rpyc.utils.classic
logger = logging.getLogger("rpyc_docker")
logger.setLevel(logging.INFO)
[docs]class BrowserRpycWorker(RpycWorker):
def __init__(self,docker,mount = None):
RpycWorker.__init__(self,docker,mount)
[docs] def setup_browser(self,driver,visible = False,backend = 'xvfb'):
rpyc.utils.classic.upload_file(self.conn,os.path.abspath(rpyc_docker.browser.__file__),"/root/browser.pyc")
self.browser = self.conn.modules["browser"].Browser()
self.browser.setup(driver = driver,
visible = visible,
backend = backend)
self.driver = self.browser.driver
return True
[docs] def dump_page(self,destDir):
import os.path
import datetime
dt = datetime.datetime.now().isoformat()
fName = "%s-%s.html" % (dt,driver.title)
fName = os.path.join(destDir,fName)
with open(f_name,'w') as file_:
file_.write(driver.page_source)
self.driver.get_screenshot_as_file("%s-%s.png" % (dt,driver.title))
return True