使用 Selenium 4.0 判断页面变化程度并刷新页面
要判断页面变化的程度,可以使用 Selenium 的 'WebDriverWait' 和 'expected_conditions' 模块来等待元素的可见性或文本内容的变化。然后可以通过比较前后的文本内容来判断页面变化的程度。
以下是一个示例代码,可以判断页面某个元素的文本内容是否发生变化,如果变化达到一定程度,则刷新页面:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 初始化WebDriver
driver = webdriver.Chrome()
# 打开页面
driver.get('https://example.com')
# 等待元素可见,例如等待某个元素的文本内容出现
element = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, 'h1'))
)
# 获取初始的文本内容
initial_text = element.text
# 刷新页面的次数
refresh_count = 0
while True:
# 刷新页面
driver.refresh()
# 等待元素可见
element = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.CSS_SELECTOR, 'h1'))
)
# 获取当前的文本内容
current_text = element.text
# 比较前后的文本内容,判断变化程度
change_percentage = sum(1 for a, b in zip(initial_text, current_text) if a != b) / len(initial_text)
# 如果变化程度超过一定阈值,退出循环
if change_percentage >= 0.5:
break
# 更新初始的文本内容
initial_text = current_text
# 增加刷新次数
refresh_count += 1
print(f'页面变化达到一定程度,刷新了 {refresh_count} 次')
请根据实际情况修改代码中的元素定位方式和判断变化程度的阈值。
原文地址: https://www.cveoy.top/t/topic/paiS 著作权归作者所有。请勿转载和采集!