go-rod 清除input框内容

343 阅读1分钟

在使用 Go-Rod 自动化浏览器操作时,如果你需要清除一个输入框的内容,可以使用 Go-Rod 提供的 API 来实现这一操作。通常,你可以先选择该输入框元素,然后使用键盘事件来删除其中的内容。下面是一个简单的示例:

package main

import (
	"github.com/go-rod/rod"
	"time"
)

func main() {
	// 启动新浏览器实例
	browser := rod.New().MustConnect()
	defer browser.MustClose()

	// 打开一个页面
	page := browser.MustPage("https://example.com")

	// 等待页面加载完成
	page.MustWaitLoad()

	// 定位输入框元素
	input := page.MustElement("input#your-input-id")

	// 清除输入框内容
	// 方法1:使用输入Ctrl+A选择所有内容,然后删除
	input.MustInput("")
	input.MustPress(input, "Control+a") // Mac 上可能需要 Command+a
	input.MustPress(input, "Backspace")
	
	// 方法2:直接输入新的内容覆盖旧内容
	// input.MustInput("")

	// 此处可以根据需要继续进行其他操作
	time.Sleep(2 * time.Second) // 仅用于观察效果,实际应用中不建议使用

	// 关闭页面
	page.MustClose()
}

解释

  1. 定位输入框: 使用 page.MustElement("input#your-input-id") 方法来选择特定的输入框元素。你需要将 "input#your-input-id" 替换为适合你页面的选择器。

  2. 清除内容:

    • 方法1: 使用 Control+a(或 Command+a 在 Mac 上)选择所有文本,然后使用 Backspace 删除。这是模拟用户手动清除文本的操作。
    • 方法2: 直接使用 input.MustInput("") 输入一个空字符串覆盖原有内容。
  3. 延迟观察: time.Sleep(2 * time.Second) 只是为了让你在本地运行时有时间观察操作效果,实际应用中应使用适当的等待方法。

这种方法可用于大多数需要自动化操作的网页场景,请根据具体需求调整代码中的元素选择器和操作。