You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Selenium获取div class元素文本并填入input class元素

Selenium实现div文本自动填入input的操作方法

现有代码问题修正

你当前的代码存在变量名覆盖问题:两次定位得到的div元素和input元素都赋值给了同一个verification_code变量,会导致先定位到的div元素被后续input元素覆盖,首先需要拆分两个元素的存储变量。

具体操作步骤

  • 分别定义变量存储div元素和input元素
  • 调用div元素的.text属性获取其展示的文本内容,如果div为隐藏元素可替换为.get_attribute('textContent')读取文本
  • 先调用input元素的.clear()方法清空原有内容,再调用.send_keys()方法传入读取到的验证码文本

修正后的完整代码示例

import os
import time
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

lol = input("Click to print div class text on console...")

driver = webdriver.Firefox()
driver.get("<替换为实际的目标页面链接>")

# 定位存储验证码的div元素
code_div = WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.XPATH, "/html/body/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[2]")))
# 定位验证码输入框元素
code_input = WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[1]/section/main/div/div/div[1]/div[2]/form/div/div[1]/input")))

# 读取div文本
verification_code = code_div.text
# 清空输入框并填入文本
code_input.clear()
code_input.send_keys(verification_code)

补充注意点

如果操作时出现文本读取为空、填入失败的情况,可以将presence_of_element_located替换为visibility_of_element_located,确保元素渲染可见后再执行操作,也可以在定位元素后增加短时间延迟避免动态内容未加载完成。

内容的提问来源于stack exchange,提问作者dasdasddas dsadasd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 07:09:02