Python Selenium教程:连接现有浏览器实例并获取网页元素内容
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浏览器实例,并在网页中查找特定元素并获取其内容。
代码解析:
check_browser()函数:- 该函数尝试连接到本地地址
127.0.0.1:9527上运行的 Chrome 浏览器调试端口。 - 如果连接成功,则说明浏览器已打开,返回
True;否则,返回False。
- 该函数尝试连接到本地地址
- 主程序块:
- 首先,调用
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' 的元素,否则代码将无法找到该元素。
- 您可以根据需要修改代码,以查找其他元素或执行其他操作。
原文地址: https://www.cveoy.top/t/topic/fYqI 著作权归作者所有。请勿转载和采集!