2

我有一个带有 2 个搜索字段(顶部和底部)的网页以及它们之间的一些文本,我想向底部字段发送查询。这两个字段是相同的(相同的代码)。

我尝试将底部的存储在一个变量中并使用该变量来发送密钥,但不知何故它总是将文本发送到第一个。

var bottomSearch = _WebDriver.FindElements(By.Id("inputBox"))[1];
   Assert.IsTrue(bottomSearch.Displayed);
   bottomSearch.Clear();
   bottomSearch.Click();
   bottomSearch.SendKeys("test");
   bottomSearch.SendKeys(Keys.Enter);

所以:Clear() 有效并正确删除底部搜索中已经存在的任何文本,Click() 也有效,SendKeys 将文本发送到顶部搜索框,SendKeys(Keys.Enter) 返回底部并从那里按 Enter。我使用了 firefox 驱动程序,还尝试通过 CssSelectors 或其他标识符选择元素,但没有成功。

非常感谢任何帮助或想法!谢谢!

这是搜索字段的代码:

<div class="searchbox-input">
<input id="inputBox" class="querybox" type="text" placeholder="Entrer le terme recherché" name="inputBox" value="test">
</div>
4

1 回答 1

0

好的,经过 2 天的反复试验,我要求网站的开发人员更改底部搜索的 id,现在一切正常。

在所有这些尝试之后,我很想怀疑驱动程序或 SendKeys() 方法中的错误,但由于我没有找到任何支持它的参考并且我之前成功处理过相同的 ID 字段,也许它只是在网站的实施或我的。

所以总而言之,请遵循最佳实践建议,这永远不会发生:)

于 2013-07-11T10:49:51.697 回答