from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import random # 用于生成随机值
# 配置 ChromeDriver 连接到调试端口
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 使用与现有浏览器连接的驱动
driver = webdriver.Chrome(options=chrome_options)
# 打开一个新标签页
driver.execute_script(
"window.open('https://www.example.com', '_blank');")
# 切换到新标签页
driver.switch_to.window(driver.window_handles[-1])
# 获取页面的总高度
total_height = driver.execute_script("return document.body.scrollHeight")
# 模拟慢慢滑动至底部,滚动距离和时间间隔随机化
scroll_position = 0
while scroll_position < total_height:
# 滚动一个随机距离
scroll_distance = random.randint(300, 500) # 每次滑动20到100px
scroll_position += scroll_distance
driver.execute_script(f"window.scrollTo(0, {scroll_position});")
# 随机间隔时间
delay = random.uniform(2.0, 3.0) # 滑动间隔在0.1到0.5秒之间
time.sleep(delay)
driver.refresh()
# 最后滚动至页面底部
driver.execute_script(f"window.scrollTo(0, {total_height});")
# 等待一段时间以确保滚动效果完成
time.sleep(3)
# 关闭浏览器
driver.quit()