如何用Python Selenium为input标签的value属性赋值?
使用Python Selenium设置指定Input的Value属性
步骤1:定位目标Input元素
利用该input标签的唯一id属性(search-box-input)定位元素,这是最可靠的定位方式:
from selenium import webdriver # 初始化浏览器驱动(以Chrome为例) driver = webdriver.Chrome() driver.get("目标页面的URL") # 定位目标input元素 input_element = driver.find_element("id", "search-box-input")
步骤2:执行JS脚本设置Value属性
你猜测的代码方向完全正确,直接通过execute_script执行JavaScript修改DOM属性即可,完整代码如下:
# 定义要设置的目标值 target_value = "New York, NY" # 执行JS脚本修改input的value属性 driver.execute_script("arguments[0].setAttribute('value', arguments[1]);", input_element, target_value)
补充:触发框架内部状态更新(可选)
如果目标输入框是React、Vue等前端框架渲染的,仅修改DOM属性可能无法触发框架内部的状态更新,此时可以额外触发input事件:
# 触发input事件,确保框架感知到值的变化 driver.execute_script("arguments[0].dispatchEvent(new Event('input'));", input_element)
内容的提问来源于stack exchange,提问作者xlmaster
相关产品推荐
相关产品推荐

