1.简介
在做web自动化时,有些情况playwright的api无法完成以及无法应对,需要通过或者借助第三方手段比如js来完成实现,比如:去改变某些元素对象的属性或者进行一些特殊的操作,本文讲解playwright怎样来调用JavaScript完成特殊操作。
2.用法
上一篇中就提到过,这里提取一下,语法如下:
代码语言:javascript复制# 原生js
js = '原生js;'
# 调用js
page.evaluate(js)
3.项目实战
3.1场景一
1.日历时间控件限制手动输入的情况下,fill()无法写入数据,需要执行js来移除readonly属性!
详细参考博客:日历时间控件(传送门)
3.2场景二
1.有些页面的内容不是打开页面时直接加载的,需要我们滚动页面,直到页面的位置显示在屏幕上时,才会去请求服务器,加载相关的内容。所以,有时候我们就需要模拟页面向下滚动的操作。而python没有提供操作滚动条的方法,只能借助js来完成!
2.使用JS语句模拟向下滚动页面
可以使用JS语句,定位滚动条的位置到最下面,从而实现页面的向下滚动。
语法如下:
代码语言:javascript复制js = "var q=document.documentElement.scrollTop=滚动条的位置"
page.evaluate(js)
4.实际案例(场景二)
宏哥在这里直接就用博客园的滚动条给小伙伴或者是童鞋们来实战演示一下,大家可以注意宏哥录制浏览器动作视频的滚动条在向下滚动直到博客园的底部。
4.1代码设计
4.2参考代码
代码语言:javascript复制# coding=utf-8