1.使用Selenium打開瀏覽器
- 下載好Chrome驅動,如果訪問不了外網,可以從這裏下載,有各種新老版本及瀏覽器,有win\mac\linux適配的包以及無頭模式的包
- 使用python執行下列文件內容
from selenium import webdriver
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 # 保持瀏覽器打開