first commit
This commit is contained in:
61
test_selenium_single.py
Normal file
61
test_selenium_single.py
Normal file
@@ -0,0 +1,61 @@
|
||||
import os
|
||||
import re
|
||||
import time
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.chrome.service import Service
|
||||
from selenium.webdriver.chrome.options import Options
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from webdriver_manager.chrome import ChromeDriverManager
|
||||
|
||||
def get_driver():
|
||||
chrome_options = Options()
|
||||
chrome_options.add_argument("--headless")
|
||||
chrome_options.add_argument("--disable-gpu")
|
||||
chrome_options.add_argument("--no-sandbox")
|
||||
chrome_options.add_argument("--disable-dev-shm-usage")
|
||||
chrome_options.add_argument("user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
|
||||
|
||||
service = Service(ChromeDriverManager().install())
|
||||
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||
return driver
|
||||
|
||||
def test_single_fetch(url):
|
||||
print(f"Testing Selenium with URL: {url}")
|
||||
driver = None
|
||||
try:
|
||||
driver = get_driver()
|
||||
driver.get(url)
|
||||
|
||||
print("Waiting for page elements...")
|
||||
wait = WebDriverWait(driver, 15) # 给足够的时间处理验证
|
||||
|
||||
try:
|
||||
# 尝试定位 other-info 节点
|
||||
other_info = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "other-info")))
|
||||
print("Successfully found 'other-info' node!")
|
||||
|
||||
# 提取信息
|
||||
time_node = other_info.find_element(By.CLASS_NAME, "time")
|
||||
views_node = other_info.find_element(By.CLASS_NAME, "views")
|
||||
download_node = other_info.find_element(By.CLASS_NAME, "download")
|
||||
|
||||
print(f"Date Result: {time_node.text}")
|
||||
print(f"Views: {views_node.text}")
|
||||
print(f"Downloads: {download_node.text}")
|
||||
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"Failed to find elements: {e}")
|
||||
# 打印当前页面标题,看看是不是还在挑战页面
|
||||
print(f"Current Page Title: {driver.title}")
|
||||
return False
|
||||
|
||||
finally:
|
||||
if driver:
|
||||
driver.quit()
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_url = "https://www.zxxk.com/soft/38837976.html"
|
||||
test_single_fetch(test_url)
|
||||
Reference in New Issue
Block a user