无法点击 Google 搜索按钮

Can't click on Google search button

我在搜索字段中输入文本后,尝试使用 watin 单击 google 搜索按钮:

Match match = Regex.Match("weather usa", "weather (.*)");
browser.GoTo("www.google.com");
browser.TextField(Find.ByName("q")).TypeText("weather:" + match.Groups[1].Value);
browser.Button(Find.ByName("btnK")).Click();

应用程序在正确填写文本字段后冻结。我的下一步应该如何解决问题?

这似乎是由 Google 的自动完成功能引起的。

Google 的主页,搜索栏中未输入任何内容:

Google 在搜索栏中输入后,触发自动完成:

请注意布局发生了变化。名称为 btnK 的按钮仍然存在于页面上,但不可见。用户可见的搜索按钮现在不同了:btnG.

您需要执行以下操作之一:

  • 点击btnG

    browser.TextField(Find.ByName("q")).TypeText("weather:" + match.Groups[1].Value);
    browser.Button(Find.ByName("btnG")).Click();
    
  • 设置搜索框的值而不是键入并单击 btnK

    browser.TextField(Find.ByName("q")).Value = "weather:" + match.Groups[1].Value;
    browser.Button(Find.ByName("btnK")).Click();