Java - Selenium(chrome 驱动程序)元素不可见异常

Java - Selenium (chrome driver) element not visible exception

我有 2 个网站,我想自动执行搜索过程,我正在努力寻找一种方法来定位和填充元素并加快搜索过程(因为我每天多次使用这些网站): http://pretraga2.apr.gov.rs/ObjedinjenePretrage/Search/Search http://www.nbs.rs/internet/english/67/rir.html

我几乎尝试了所有方法,并设法在第一个网站上找到了文本字段“Матични број:”,但是在尝试填充它时我得到了元素不可见异常。 我尝试触发的第二个站点 javascript 但它会在新的 window 中打开搜索表单,并且无法从那里进行搜索。

希望有人能提出某种解决方案,在此先感谢。

恰好有两个元素具有相同的id和名称。如果你仔细调查,你会发现第二个元素就是你想要的。

td.apr-mbr>[name='SearchByRegistryCodeString']

编辑:

此代码在第一个 link 上工作得很好。

WebElement element = driver.findElement(By.cssSelector("td.apr-mbr>[name='SearchByRegistryCodeString']"));
        element.sendKeys("Test");

当不滚动元素不可见时偶尔也会发生这种情况(但我不确切知道为什么虽然我的情况下的元素不是隐藏的)我发现解决方案是将焦点移动到之前的元素调用所需的操作(点击、发送键等)

Actions actions = new Actions(driver);
actions.moveToElement(webElement).perform();