Selenium webdriver 使用webdriver滚动视图或元素
我有一个动态列表,包含不同数量的项目,根据一些选择显示 如果列表中有7个以上的项目,则悬停时,列表将显示一个滚动条。(如果项目较少,则不会有滚动条。) 我根据其类名找到了滚动条的元素,但尝试使用webdriver滚动失败。 代码如下:Selenium webdriver 使用webdriver滚动视图或元素,selenium-webdriver,Selenium Webdriver,我有一个动态列表,包含不同数量的项目,根据一些选择显示 如果列表中有7个以上的项目,则悬停时,列表将显示一个滚动条。(如果项目较少,则不会有滚动条。) 我根据其类名找到了滚动条的元素,但尝试使用webdriver滚动失败。 代码如下: //hover Actions action = new Actions(driver); WebElement placesList = driver.findElement(By.id("divPlaces")); action.moveToElement(p
//hover
Actions action = new Actions(driver);
WebElement placesList = driver.findElement(By.id("divPlaces"));
action.moveToElement(placesList).perform();
//scroll the list
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true)", element);
HTML代码:
<div class="blk">
<div class="smlhead">
Places
</div>
<div id="divPlacesCont" class="sbarPrnt" style="height: 179.219px;">
<div id="divPlaces" class="tilewrap sbarcont" style="height: 179px;">
<div class="blksmlr smlhead sngline">
<a href="#" onclick="javascript:mcSearch.placeSelected(this, '12');">hyd</a>
</div>
(removed 7 more items for simplicity...)
<div class="sbar" style="display: block;">
<div class="sbarpos" style="height: 152.576px; top: 0px;"></div>
</div>
</div>
</div>
</div>
地点
(为了简单起见,又删除了7项…)
更新:我有一个想法要分享。列表元素在页面的左侧总是可见的(我不需要移动/滚动到该元素,以使其与actions一样可见。moveToElement()会这样做)。当我悬停时,会出现此列表中的滚动条,我可以单击该滚动条,将其向下拖动以查看(最后一个)项目
使用上述代码,它将“框架”向上移动,即从“国家”到下面列表的所有内容向上移动一点,但动态中最后隐藏的项目仍然不可见
当使用JavaScriptI时,尝试滚动到列表项而不是滚动元素,但没有添加点。这不表示为标准的Select或表格。动态列表中的项目(位置)具有超链接。单击这些位置的超链接后,每个位置都会显示另一个互动程序列表。使用JavaScriptI时,请尝试滚动到列表项而不是滚动元素,但没有添加点。这不表示为标准的Select或表格。动态列表中的项目(位置)具有超链接。单击这些位置的超链接后,将显示每个位置的另一个平铺列表。