编辑代码

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 启动 Chrome 驱动(确保驱动路径正确,若驱动在系统路径可直接调用)
driver = webdriver.Chrome()
driver.maximize_window()  # 最大化窗口,避免元素被遮挡
# 访问携程首页
driver.get("https://www.ctrip.com/")
time.sleep(3)  # 等待页面加载

# 点击“攻略 - 景点”(需根据实际页面调整 XPATH)
# 若定位失败,右键元素 > 检查 > 复制 XPATH 替换下方路径
strategy_btn = driver.find_element(By.XPATH, '//*[@id="sidebar"]/div[6]/a')
strategy_btn.click()
time.sleep(2)
# 定位搜索框并输入关键词
search_box = driver.find_element(By.XPATH, '//*[@id="searchText"]')
search_box.send_keys("北京市八达岭长城")

# 点击搜索按钮
search_btn = driver.find_element(By.XPATH, '//*[@id="search_button"]')
search_btn.click()
time.sleep(3)
# 点击“游记”标签(需根据实际页面调整 XPATH)
travel_note_tab = driver.find_element(By.XPATH, '//*[@id="category_5"]')
travel_note_tab.click()
time.sleep(3)
# 点击第一篇游记(需根据实际页面调整 XPATH)
first_note = driver.find_element(By.XPATH, '//*[@id="result"]/div[2]/div[1]/div[2]/div[1]/a')
first_note.click()
time.sleep(3)

# 切换到新打开的窗口
handles = driver.window_handles
driver.switch_to.window(handles[-1])
# 提取游记文本(需根据实际页面调整 XPATH)
# 右键目标文本区域 > 检查 > 找到包含文本的父元素,复制 XPATH 替换下方路径
article_text = driver.find_element(By.XPATH, '//*[@id="article"]').text

# 保存文本到文件
with open("badaling_travel_note.txt", "w", encoding="utf-8") as f:
    f.write(article_text)

print("文本已保存到 badaling_travel_note.txt")