Continue work on itb

This commit is contained in:
2024-12-26 17:36:59 +01:00
parent eadd4eeabe
commit 63d1264f5a
10 changed files with 1281 additions and 342 deletions

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env python3
import sys
import os
import time
import random
from selenium import webdriver
@@ -9,17 +10,15 @@ class ScrollController:
options = webdriver.ChromeOptions()
options.add_experimental_option("debuggerAddress", f"127.0.0.1:{debug_port}")
self.driver = webdriver.Chrome(options=options)
# Load JavaScript files
js_dir = os.path.join(os.path.dirname(__file__), "..", "js")
self.js_code = ""
with open(os.path.join(js_dir, "viewport.js")) as f:
self.js_code = f.read()
def get_viewport_info(self) -> dict:
script = """
return {
scroll_x: window.pageXOffset,
scroll_y: window.pageYOffset,
max_scroll_x: Math.max(document.documentElement.scrollWidth - window.innerWidth, 0),
max_scroll_y: Math.max(document.documentElement.scrollHeight - window.innerHeight, 0)
};
"""
return self.driver.execute_script(script)
return self.driver.execute_script(self.js_code + "; return getViewportInfo();")
def smooth_scroll(self, target_x: int, target_y: int):
viewport = self.get_viewport_info()