Creating a option for user can executing js code

This commit is contained in:
t101804 2023-11-20 00:27:04 +07:00
parent 16c8ab5f3d
commit 8b0ffcbc9a
2 changed files with 6 additions and 1 deletions

View File

@ -18,6 +18,7 @@ class ChallengeResolutionResultT:
class ChallengeResolutionT:
status: str = None
message: str = None
jsrespond: str = None
result: ChallengeResolutionResultT = None
def __init__(self, _dict):
@ -32,6 +33,7 @@ class V1RequestBase(object):
cookies: list = None
maxTimeout: int = None
proxy: dict = None
execjs: str = None
session: str = None
session_ttl_minutes: int = None
headers: list = None # deprecated v2.0.0, not used

View File

@ -393,7 +393,10 @@ def _evil_logic(req: V1RequestBase, driver: WebDriver, method: str) -> Challenge
challenge_res.status = 200 # todo: fix, selenium not provides this info
challenge_res.cookies = driver.get_cookies()
challenge_res.userAgent = utils.get_user_agent(driver)
if req.execjs:
r = driver.execute_script(req.execjs)
res.jsrespond = r
logging.info(f"executing {req.execjs} and got an output {r}")
if not req.returnOnlyCookies:
challenge_res.headers = {} # todo: fix, selenium not provides this info
challenge_res.response = driver.page_source