Updated script that can be controled by Nodejs web app
This commit is contained in:
188
lib/python3.13/site-packages/selenium/webdriver/common/devtools/v130/log.py
Executable file
188
lib/python3.13/site-packages/selenium/webdriver/common/devtools/v130/log.py
Executable file
@ -0,0 +1,188 @@
|
||||
# DO NOT EDIT THIS FILE!
|
||||
#
|
||||
# This file is generated from the CDP specification. If you need to make
|
||||
# changes, edit the generator and regenerate all of the modules.
|
||||
#
|
||||
# CDP domain: Log
|
||||
from __future__ import annotations
|
||||
from .util import event_class, T_JSON_DICT
|
||||
from dataclasses import dataclass
|
||||
import enum
|
||||
import typing
|
||||
from . import network
|
||||
from . import runtime
|
||||
|
||||
|
||||
@dataclass
|
||||
class LogEntry:
|
||||
'''
|
||||
Log entry.
|
||||
'''
|
||||
#: Log entry source.
|
||||
source: str
|
||||
|
||||
#: Log entry severity.
|
||||
level: str
|
||||
|
||||
#: Logged text.
|
||||
text: str
|
||||
|
||||
#: Timestamp when this entry was added.
|
||||
timestamp: runtime.Timestamp
|
||||
|
||||
category: typing.Optional[str] = None
|
||||
|
||||
#: URL of the resource if known.
|
||||
url: typing.Optional[str] = None
|
||||
|
||||
#: Line number in the resource.
|
||||
line_number: typing.Optional[int] = None
|
||||
|
||||
#: JavaScript stack trace.
|
||||
stack_trace: typing.Optional[runtime.StackTrace] = None
|
||||
|
||||
#: Identifier of the network request associated with this entry.
|
||||
network_request_id: typing.Optional[network.RequestId] = None
|
||||
|
||||
#: Identifier of the worker associated with this entry.
|
||||
worker_id: typing.Optional[str] = None
|
||||
|
||||
#: Call arguments.
|
||||
args: typing.Optional[typing.List[runtime.RemoteObject]] = None
|
||||
|
||||
def to_json(self):
|
||||
json = dict()
|
||||
json['source'] = self.source
|
||||
json['level'] = self.level
|
||||
json['text'] = self.text
|
||||
json['timestamp'] = self.timestamp.to_json()
|
||||
if self.category is not None:
|
||||
json['category'] = self.category
|
||||
if self.url is not None:
|
||||
json['url'] = self.url
|
||||
if self.line_number is not None:
|
||||
json['lineNumber'] = self.line_number
|
||||
if self.stack_trace is not None:
|
||||
json['stackTrace'] = self.stack_trace.to_json()
|
||||
if self.network_request_id is not None:
|
||||
json['networkRequestId'] = self.network_request_id.to_json()
|
||||
if self.worker_id is not None:
|
||||
json['workerId'] = self.worker_id
|
||||
if self.args is not None:
|
||||
json['args'] = [i.to_json() for i in self.args]
|
||||
return json
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
source=str(json['source']),
|
||||
level=str(json['level']),
|
||||
text=str(json['text']),
|
||||
timestamp=runtime.Timestamp.from_json(json['timestamp']),
|
||||
category=str(json['category']) if 'category' in json else None,
|
||||
url=str(json['url']) if 'url' in json else None,
|
||||
line_number=int(json['lineNumber']) if 'lineNumber' in json else None,
|
||||
stack_trace=runtime.StackTrace.from_json(json['stackTrace']) if 'stackTrace' in json else None,
|
||||
network_request_id=network.RequestId.from_json(json['networkRequestId']) if 'networkRequestId' in json else None,
|
||||
worker_id=str(json['workerId']) if 'workerId' in json else None,
|
||||
args=[runtime.RemoteObject.from_json(i) for i in json['args']] if 'args' in json else None,
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
class ViolationSetting:
|
||||
'''
|
||||
Violation configuration setting.
|
||||
'''
|
||||
#: Violation type.
|
||||
name: str
|
||||
|
||||
#: Time threshold to trigger upon.
|
||||
threshold: float
|
||||
|
||||
def to_json(self):
|
||||
json = dict()
|
||||
json['name'] = self.name
|
||||
json['threshold'] = self.threshold
|
||||
return json
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
return cls(
|
||||
name=str(json['name']),
|
||||
threshold=float(json['threshold']),
|
||||
)
|
||||
|
||||
|
||||
def clear() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Clears the log.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Log.clear',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def disable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Disables log domain, prevents further log entries from being reported to the client.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Log.disable',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def enable() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Enables log domain, sends the entries collected so far to the client by means of the
|
||||
``entryAdded`` notification.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Log.enable',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def start_violations_report(
|
||||
config: typing.List[ViolationSetting]
|
||||
) -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
start violation reporting.
|
||||
|
||||
:param config: Configuration for violations.
|
||||
'''
|
||||
params: T_JSON_DICT = dict()
|
||||
params['config'] = [i.to_json() for i in config]
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Log.startViolationsReport',
|
||||
'params': params,
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
def stop_violations_report() -> typing.Generator[T_JSON_DICT,T_JSON_DICT,None]:
|
||||
'''
|
||||
Stop violation reporting.
|
||||
'''
|
||||
cmd_dict: T_JSON_DICT = {
|
||||
'method': 'Log.stopViolationsReport',
|
||||
}
|
||||
json = yield cmd_dict
|
||||
|
||||
|
||||
@event_class('Log.entryAdded')
|
||||
@dataclass
|
||||
class EntryAdded:
|
||||
'''
|
||||
Issued when new message was logged.
|
||||
'''
|
||||
#: The entry.
|
||||
entry: LogEntry
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json: T_JSON_DICT) -> EntryAdded:
|
||||
return cls(
|
||||
entry=LogEntry.from_json(json['entry'])
|
||||
)
|
Reference in New Issue
Block a user