1.使用Selenium打开浏览器
-
下载好Chrome驱动,如果访问不了外网,可以[从这里下载](内容详情 -GiaoLink),有各种新老版本及浏览器,有win\mac\linux适配的包以及无头模式的包
-
使用python执行下列文件内容
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 初始化浏览器驱动(Chrome)
# 如果驱动已在环境变量中,可简化为:driver = webdriver.Chrome()
# 关于如何设置环境变量,请自行百度
# path/to/chromedriver改成你的chrome驱动包的路径
# 比如 driver = webdriver.Chrome(executable_path=r'C://chromedriver')
driver = webdriver.Chrome(executable_path='path/to/chromedriver')
try:
# 打开网页
driver.get("https://www.baidu.com")
# 最大化窗口
driver.maximize_window()
# 查找搜索框并输入内容
search_box = driver.find_element(By.ID, "kw")
search_box.send_keys("Selenium")
# 模拟按下回车键
search_box.send_keys(Keys.RETURN)
# 等待3秒,让页面加载完成
time.sleep(3)
# 获取搜索结果标题并打印
results = driver.find_elements(By.CSS_SELECTOR, ".result h3 a")
for i, result in enumerate(results[:5]): # 只打印前5条结果
print(f"{i+1}. {result.text}")
# 截图保存
driver.save_screenshot("search_results.png")
finally:
# 关闭浏览器
driver.quit()
2.使用Selenium接管已打开浏览器
1.使用命令行(cmd)启动浏览器调试模式
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\selenium_chrome_data"
# macOS/Linux 示例
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="/tmp/selenium_chrome_data"
2.python执行下列代码,其中9222就是一步里的--remote-debugging-port=9222需保持一致
```from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
# 配置 Chrome 选项
chrome_options = Options()
# 连接到已开启调试模式的浏览器
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 初始化驱动,连接到已打开的浏览器
driver = webdriver.Chrome(options=chrome_options)
try:
# 现在可以控制已打开的浏览器了
print("成功接管浏览器,当前页面标题:", driver.title)
# 示例操作:打开一个新网页
driver.get("https://www.baidu.com")
time.sleep(2)
# 在已打开的浏览器中执行其他操作
if "百度" in driver.title:
search_box = driver.find_element("id", "kw")
search_box.send_keys("Selenium 接管浏览器")
search_box.submit()
time.sleep(3)
finally:
# 注意:这里使用close()而不是quit(),避免关闭整个浏览器
# driver.close() # 关闭当前标签页
pass # 保持浏览器打开