gpt4 book ai didi

scroll - 如何在 watir 中滚动 Web 应用程序

转载 作者:行者123 更新时间:2023-12-04 17:23:45 27 4
gpt4 key购买 nike

如何在 Watir 中滚动 Web 应用程序?

我试过 @browser.send_keys :space
这只会让整个页面都下来。但是我在应用程序中有一个滚动条,我需要在自动化测试中向下和向上滚动垂直滚动条,请帮助我!

谢谢!

<div dojoattachpoint="containerNode" class="containerNode tabContentPane typeNavigationSingleChild" style="overflow: auto; left: 5px; top: 10px; width: 1549px; height: 535px;">
<div pageid="lifecycle_theme_home_page_dashboard_pageId" id="lifecycle_theme_home_page_dashboard_pageId" style="height: 535px; padding: 0px; width: 1549px;" widgetid="lifecycle_theme_home_page_dashboard_pageId" title="" role="group" class="dijitContentPane wcs-nullLayout">

最佳答案

解决方案 1) 滚动到最后一个元素

我认为 Vinay 的方法应该有效。但是,在当前表单中,它假定该元素已存在于页面上。我猜你想要的元素只有在你滚动到足够远的地方才能看到。所以你可以做的是滚动到 div 中的最后一个元素。

Watir-Webdriver

在 Watir-Webdriver 中:

div_with_scroll = browser.div(:class => 'containerNode tabContentPane typeNavigationSingleChild')
div_with_scroll.elements.last.wd.location_once_scrolled_into_view

Watir-经典

在 Watir-Classic 中,它是不同的,因为它不使用 selenium-webdriver:
div_with_scroll = browser.div(:class => 'containerNode tabContentPane typeNavigationSingleChild')
div_with_scroll.elements.last.document.scrollIntoView

解决方案 2) 使用 ScrollTop 属性

作为替代方案,如果上述方法不起作用,您可以设置 scrollTop属性来移动 div 元素的滚动条。这适用于我正在处理的应用程序,该应用程序的内容仅在您滚动到底部时才加载。

Watir-Webdriver

要将滚动条跳到底部,理论上应该触发下面的内容加载,设置 scrollTop属性(property)给 scrollHeight :
div_with_scroll = browser.div(:class => 'containerNode tabContentPane typeNavigationSingleChild')
scroll_bottom_script = 'arguments[0].scrollTop = arguments[0].scrollHeight'
div_with_scroll.browser.execute_script(scroll_bottom_script, div_with_scroll)

要跳回顶部,请设置 scrollTop到零。
div_with_scroll = browser.div(:class => 'containerNode tabContentPane typeNavigationSingleChild')
scroll_top_script = 'arguments[0].scrollTop = 0'
div_with_scroll.browser.execute_script(scroll_top_script, div_with_scroll)

您还可以根据需要使用的位置使用介于两者之间的任何值。

Watir-经典

在 Watir-Classic 中,您可以设置 scrollHeight更直接:
div_with_scroll = browser.div(:class => 'containerNode tabContentPane typeNavigationSingleChild')

#Go to bottom
div_with_scroll.document.scrollTop = div_with_scroll.document.scrollHeight

#Go to top
div_with_scroll.document.scrollTop = 0

关于scroll - 如何在 watir 中滚动 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845338/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com