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

使用Selenium WebDriver处理Chrome滚动按钮及输入框自动化问题

解决Chrome自动生成滚动输入框的自动化操作问题

针对你遇到的Chrome原生带滚动按钮的输入框无法操作、输入值无效的问题,给你几个可靠的解决方案:

  • 直接通过JS设置输入框值
    这类原生输入框本质还是<input>元素,绕过交互控件直接修改DOM属性是最稳定的方式:

    // 定位到目标输入框
    IWebElement inputBox = driver.FindElement(By.CssSelector("input[type='number']"));
    // 用JS执行赋值
    IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
    js.ExecuteScript("arguments[0].value = '目标数值';", inputBox);
    
  • 模拟键盘按键调整数值
    如果需要通过"滚动"逻辑调整数值,用方向键模拟比操作滚动按钮更靠谱:

    inputBox.Click(); // 先聚焦输入框
    // 按↑键5次(向上调整数值)
    for (int i = 0; i < 5; i++)
    {
        new Actions(driver).SendKeys(Keys.ArrowUp).Perform();
    }
    // 也可以直接输入具体数值
    new Actions(driver).SendKeys("100").Perform();
    
  • 修复输入框内部滚动无效的问题
    你之前用的ScrollByAmount是操作页面全局滚动,对输入框内部滚动无效,要针对输入框元素修改scrollTop:

    js.ExecuteScript("arguments[0].scrollTop = arguments[0].scrollTop - 100;", inputBox);
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:10:00