python+selenium实现对chrome,360极速浏览器的操作备份

教程参考:https://www.runoob.com/selenium/selenium-tutorial.html

对chrome操作:

from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

chrome_options = Options()
#保持浏览器不关闭
chrome_options.add_experimental_option("detach", True)
#无头模式
# chrome_options.add_argument("--headless")  # 启用无头模式
# chrome_options.add_argument("--disable-gpu")  # 禁用 GPU 加速
#chrome_options.add_argument("--window-size=1920,1080")  # 设置窗口大小
#禁止图片加载,加快速度
chrome_options.add_argument("--blink-settings=imagesEnabled=false")
#禁止js,加快速度
#chrome_options.add_argument("--disable-javascript")
#关闭错误log
chrome_options.add_argument('--log-level=3') #只显示 FATAL 级别日志(隐藏 INFO/WARNING/ERROR)
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) #禁用大部分控制台日志输出

# driver = webdriver.Chrome(options=chrome_options)

# 指定 chromedriver 路径
service = Service(executable_path=r'C:\chromedriver-win64\chromedriver.exe')

# 启动浏览器
driver = webdriver.Chrome(service=service, options=chrome_options)



# 打开百度首页
driver.get("https://www.baidu.com")

#time.sleep(3)

# 设置隐式等待时间为 10 秒
# driver.implicitly_wait(10)
# 查找搜索框元素
# search_box = driver.find_element(By.ID, "chat-textarea")
#等待搜索框元素,不用#time.sleep
#wait = WebDriverWait(driver, 10)
#search_box = wait.until(EC.presence_of_element_located((By.ID, 'chat-textarea')))
#等待搜索框元素,更高效
search_box=driver.find_element(By.ID, "chat-textarea")
if not search_box.is_displayed():
    WebDriverWait(driver, 10).until(EC.visibility_of(search_box))

print(driver.title)

# 在搜索框中输入 "hello"
search_box.send_keys("hello")

# 模拟按下回车键
search_box.send_keys(Keys.RETURN)

#按下百度按钮
# wait = WebDriverWait(driver, 10)
# search_botton = wait.until(EC.presence_of_element_located((By.ID, 'chat-submit-button')))
# search_botton.click()

# 等待搜索结果加载(至少一个结果出现)
#wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#content_left .result")))

# 验证标题包含搜索词(百度搜索后标题通常是“搜索词_百度搜索”)
#assert "hello" in driver.title, "页面标题未包含搜索词"

# 验证搜索结果页面是否包含关键词
#assert "hello" in driver.page_source

#time.sleep(2)

# 截取页面截图并保存
# screenshot_path = "screenshot.png"
# driver.save_screenshot(screenshot_path)
# print(f"截图已保存到: {screenshot_path}")

# 关闭浏览器
#driver.quit()

对360极速浏览器操作

from selenium.webdriver.chrome.service import Service
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

chrome_options = Options()
#保持浏览器不关闭
# chrome_options.add_experimental_option("detach", True)
#无头模式
# chrome_options.add_argument("--headless")  # 启用无头模式
# chrome_options.add_argument("--disable-gpu")  # 禁用 GPU 加速
# chrome_options.add_argument("--window-size=1920,1080")  # 设置窗口大小
#禁止图片加载,加快速度
chrome_options.add_argument("--blink-settings=imagesEnabled=false")
#禁止js,加快速度
#chrome_options.add_argument("--disable-javascript")
#关闭错误log
chrome_options.add_argument('--log-level=3') #只显示 FATAL 级别日志(隐藏 INFO/WARNING/ERROR)
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) #禁用大部分控制台日志输出

# driver = webdriver.Chrome(options=chrome_options)


chrome_options.binary_location = r"C:\360极速浏览器\360Chrome\Chrome\Application\360chrome.exe"  # 修改为你的 360 浏览器路径

# 可选:添加启动参数,强制使用极速模式(Chromium 内核)
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-extensions")

#个人数据
chrome_options.add_argument(r'--user-data-dir=C:\360极速浏览器\360Chrome\Chrome\User Data')
chrome_options.add_argument('--profile-directory=Default')


# 指定 chromedriver 路径
service = Service(executable_path=r'C:\360极速浏览器\chromedriver.exe')

# 启动浏览器
driver = webdriver.Chrome(service=service, options=chrome_options)



# 打开百度首页
driver.get("https://www.baidu.com")

#time.sleep(3)

# 设置隐式等待时间为 10 秒
# driver.implicitly_wait(10)
# 查找搜索框元素
# search_box = driver.find_element(By.ID, "chat-textarea")
#等待搜索框元素,不用#time.sleep
#wait = WebDriverWait(driver, 10)
#search_box = wait.until(EC.presence_of_element_located((By.ID, 'chat-textarea')))
#等待搜索框元素,更高效
search_box=driver.find_element(By.ID, "chat-textarea")
if not search_box.is_displayed():
    WebDriverWait(driver, 10).until(EC.visibility_of(search_box))

print(driver.title)

# 在搜索框中输入 "hello"
search_box.send_keys("hello")

# 模拟按下回车键
search_box.send_keys(Keys.RETURN)

#按下百度按钮
# wait = WebDriverWait(driver, 10)
# search_botton = wait.until(EC.presence_of_element_located((By.ID, 'chat-submit-button')))
# search_botton.click()

# 等待搜索结果加载(至少一个结果出现)
#wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#content_left .result")))

# 验证标题包含搜索词(百度搜索后标题通常是“搜索词_百度搜索”)
#assert "hello" in driver.title, "页面标题未包含搜索词"

# 验证搜索结果页面是否包含关键词
#assert "hello" in driver.page_source

#time.sleep(2)

# 截取页面截图并保存
# screenshot_path = "screenshot.png"
# driver.save_screenshot(screenshot_path)
# print(f"截图已保存到: {screenshot_path}")

# 关闭浏览器
#driver.quit()
Theme Jasmine by Kent Liao