playwright_执行java script控制滚动条

在做自动化测试时,有时候需要控制滚动条,前面我们讲过一个playwright提供的方法:
scroll_into_view_if_needed(),这个方法可以控制滚动条滚动到元素出现的位置。

除了这个方法外还可以可以通过执行js和模拟鼠标滚轮操作来实现滚动条的控制。

执行js控制滚动条:

js = "window.scrollTo(x,y);" # x为横向距离 y为纵向距离
--scrollHeight 获取对象的滚动高度。
--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。
--scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
--scrollWidth 获取对象的滚动宽度
js = "window.scrollTo(0,document.body.scrollHeight)" # 滚动到底部
js = "window.scrollTo(0,0)" # 滚动到顶部
js = "window.scrollTo(x,y)" # 滚动到横向距离为X纵向距离为Y的位置

实践代码:

'''
# author: 测试-老姜   交流微信/QQ:349940839
# 欢迎添加微信或QQ,加入学习群共同学习交流。
# QQ交流群号:877498247
# 西安的朋友欢迎当面交流。
'''

from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized'],slow_mo=1000) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("https://www.163.com/") # 打开网址
page.evaluate("window.scrollTo(0,1000)") # 向下滚动1000
page.wait_for_timeout(15000)
context.close()
browser.close()
playwright.stop()
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐