Selenium:帮助将文本发送到浮动标头中的字段

Selenium: Help sending text to a field in a floating header

本文关键字:字段 帮助 文本 Selenium      更新时间:2023-09-26

我正试图使用selenium和PhantomJS驱动程序编写一些自动化的java测试,但在尝试与文本字段交互时遇到了一个大问题。

http://www.jigsaw-online.com/我试图向搜索框发送一些文本,但我尝试了很多不同的定位器查找,当我尝试向字段发送密钥时,我总是得到ElementNotVisibleException

@FindBy(xpath="//header//form[@id='search']//input[@type='search']")
@FindBy(xpath="//input[@name='w']")
@FindBy(xpath="//form[@id='search']//input[@type='search']")

我知道所有这些xpath都是正确的,因为我可以在测试中从中获得属性。

我唯一能想到的是,如果你向下滚动页面,标题就会出现。

有人能给我一个发送这个领域钥匙的方法吗?

该页面顶部搜索框id不是search,而是sli_search_1

因此,最简单的xpath将是//*[@id="sli_search_1"]

另一方面,你为什么不通过id找到那个元素呢?类似于:

searchBox = driver.findElement(By.Id("sli_search_1"));
searchBox.sendKeys("hello");

希望能有所帮助。