43新一代自动化测试神器playwright+python系列课程_playwright_执行java script控制滚动条

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()

posted @ 2024-03-21 11:06  测试_老姜  阅读(36)  评论(0)    收藏  举报