Continue work on itb
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user