import os
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def check_browser():
    '''
    检查是否已经打开了浏览器
    '''
    try:
        options = Options()
        options.add_experimental_option('debuggerAddress', '127.0.0.1:9527')
        browser = webdriver.Chrome(options=options)
        browser.execute_script('return true')
        return True
    except:
        return False

#使用cmd命令打开一个浏览器
if __name__ == '__main__':
    if not check_browser():
        os.system(r'start chrome --remote-debugging-port=9527 --user-data-dir="D:\评阅用"')
    #获取刚才打开的浏览器
    options = Options()
    options.add_experimental_option('debuggerAddress', '127.0.0.1:9527')
    browser = webdriver.Chrome(options=options)
    browser.get('https://menhu.pt.ouchn.cn/site/ouchnPc/index')
    print(browser.title)
    # 查找名为'score'的元素并打印其内容
    score_element = browser.find_element_by_name('score')
    print(score_element.text)

这段代码演示了如何使用Python Selenium连接已打开的Chrome浏览器实例,并在网页中查找特定元素并获取其内容。

代码解析:

  1. check_browser() 函数:
    • 该函数尝试连接到本地地址 127.0.0.1:9527 上运行的 Chrome 浏览器调试端口。
    • 如果连接成功,则说明浏览器已打开,返回 True;否则,返回 False
  2. 主程序块:
    • 首先,调用 check_browser() 函数检查浏览器是否已打开。
    • 如果浏览器未打开,则使用 os.system() 函数执行命令行命令,启动 Chrome 浏览器并启用远程调试端口 9527
    • 创建 Options 对象并设置 debuggerAddress 参数,以便连接到已打开的浏览器实例。
    • 创建 webdriver.Chrome 对象,并将 options 对象作为参数传递,以连接到指定的浏览器实例。
    • 使用 browser.get() 方法打开目标网页。
    • 使用 browser.find_element_by_name() 方法查找名为 'score' 的元素。
    • 使用 score_element.text 获取元素的文本内容并打印。

注意:

  • 将代码中的 'D:\\评阅用' 替换为您自己的 Chrome 用户数据目录路径。
  • 确保您要查找的网页上确实存在名为 'score' 的元素,否则代码将无法找到该元素。
  • 您可以根据需要修改代码,以查找其他元素或执行其他操作。
Python Selenium教程:连接现有浏览器实例并获取网页元素内容

原文地址: https://www.cveoy.top/t/topic/fYqI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录