1 Star 1 Fork 0

未来之星/magical_spider

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
engine.py 1.91 KB
一键复制 编辑 原始数据 按行查看 历史
李玺 提交于 2022-08-12 18:01 . update
# -*- coding: utf-8 -*-
from browserapi import Browser,BrowserApi
from db import *
from models import Process
from selenium import webdriver
from selenium.webdriver.remote.webdriver import WebDriver
def create_browser(url,name):
bro = Browser()
browser = bro.start_request(url)
session_id = browser.session_id
process_url = browser.command_executor._url
insert_process(Process(session_id,name,process_url,url))
return browser
def attachToSession(session_id,url):
original_execute = WebDriver.execute
def new_command_execute(self, command, params=None):
if command == "newSession":
return {'success': 0, 'value': None, 'sessionId': session_id}
else:
return original_execute(self, command, params)
WebDriver.execute = new_command_execute
driver = webdriver.Remote(command_executor=url, desired_capabilities={})
driver.session_id = session_id
WebDriver.execute = original_execute
return driver
def carry_browser(session_id,process_url,request_url,request_type,formdata):
try:
browser = attachToSession(session_id,process_url)
except:
# 防止窗口崩溃 -> 增加的重建操作
print("防止窗口崩溃 -> 增加的重建操作")
browser_info = select_process_id(session_id)
base_url = browser_info[4]
process_name = browser_info[1]
delete_process(process_name)
browser = create_browser(base_url,process_name)
print("browser 重建成功")
broapi = BrowserApi(browser)
if request_type=='get':
result = broapi.browser_get(request_url)
else:
result = broapi.browser_post(request_url,formdata)
return result
def close_browser(session_id,process_url,process_name):
delete_process(process_name)
browser = attachToSession(session_id,process_url)
browser.close()
browser.quit()
def select_all_process():
return select_process()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/featurestar/magical_spider.git
[email protected]:featurestar/magical_spider.git
featurestar
magical_spider
magical_spider
main

搜索帮助