1、uv环境构建
uv init avatar-app
cd avatar-app
uv add selenium
....
uv run main.py
2、selenium代码示例
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
# 初始化浏览器
driver = webdriver.Chrome()
driver.get("https://baidu.com") # 替换为目标网站URL
input("请手动完成登录后,按回车键继续执行脚本...")
# 获取所有需要点击的元素(根据实际情况修改选择器)
elements = driver.find_elements(By.CSS_SELECTOR,
'''
''')
elements2 = driver.find_elements(By.CSS_SELECTOR,
'''
''')
for e in elements2:
print(e.text)
url_list = []
for i in range(len(elements)):
element = elements[i]
try:
# 获取当前窗口句柄
main_window = driver.current_window_handle
# 点击元素
element.click()
# 等待新窗口出现(最多等待10秒)
WebDriverWait(driver, 10).until(EC.number_of_windows_to_be(2))
# 获取所有窗口句柄并切换到新窗口
all_windows = driver.window_handles
new_window = [window for window in all_windows if window != main_window][0]
driver.switch_to.window(new_window)
# 记录URL
current_url = driver.current_url
url_list.append(current_url)
# print(f"捕获URL: {current_url}")
# 关闭新窗口并切换回主窗口
driver.close()
driver.switch_to.window(main_window)
time.sleep(200 / 1000)
except Exception as e:
print(f"处理元素时出错: {str(e)}")
continue
# 关闭浏览器
driver.quit()
# 输出结果
print("\n捕获的URL列表:")
for url in url_list:
print(url)