34新一代自动化测试神器playwright+python系列课程_playwright_滚动到元素出现的位置
34_playwright_滚动到元素出现的位置
当页面比较长,超过浏览器的高度时候,有些元素虽然没有显示,但是实际已经加载到页面上了,是可以直接操作的,而且playwright 在点击元素的时候,会自动滚动到元素出现的位置,这点是非常人性化的。
但有些元素需要滚动到元素出现的位置,让元素处于可视的窗口上才能去操作。 或者网站是通过上拉加载的方式请求接口实现翻页的,这个时候就需要控制滚动条实现向下拖动,实现翻页的功能。
Playwright提供了scroll_into_view_if_needed()方法,可以控制滚动条滚动到元素显示的位置。
使用方法:
Locator. scroll_into_view_if_needed()
接下来我们以163网站为例看一下该方法的使用。
实践代码:
# '''
# 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']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("https://www.163.com/") # 打开网址
page.wait_for_timeout(2000)
page.locator('text=楼市利好!央行、金融监管总局发文!').scroll_into_view_if_needed()
page.wait_for_timeout(10000)
context.close()
browser.close()
playwright.stop()

浙公网安备 33010602011771号