点此免费加入Python网络爬虫学习交流QQ群:428518750
Playwright支持所有CSS选择器语法,同时,很多自定义的选择器也是基于CSS选择器的语法来实现的。
html元素标签
html元素标签,直接写标签名即可。
示例代码:
<button value="title"></button> page.click('button') # 点击标签为button的按钮
ID属性
元素中的ID属性,在ID前标识#。
示例代码:
<input id="user"></input> page.fill('#user', 'username') # 在id=user的输入框中输入username
class属性
元素中的class属性,在class前标识.。
示例代码:
<input class="btn" type="button"></input> page.click('.btn') # 点击class为btn的按钮
其他属性
元素中除ID和Class的其他属性,使用[attr<=value>]语法。
示例代码:
<input type="password"></input> <input type="checkbox" name="vehicle" value="Bike" checked>I have a bike<br> page.fill('[type=password]', 'password') # 在具有属性type=password的输入框中输入password page.click('[checked]') # 点击具有属性checked的按钮
多种属性同时使用
上述多种选择器可以同时使用,连在一起写即可。
示例代码:
page.fill('input[type=password]', 'password') # 在具有属性type=password同时标签为input的输入框中输入passwordpage.click('input.btn') # 点击class为btn同时标签为input的按钮
组合选择器
当元素本身的属性不足以唯一定位到我们想要的元素时,可以使用组合选择器,通过元素的父节点或祖先节点来进行唯一定位。
示例代码:
<div id="user"> <button></button> </div> <div id="userinfo"> <button></button> </div> page.click('#userinfo button') # 点击id为userinfo内部的标签为button的按钮,使用空格分隔 page.click('#userinfo>button') # 点击父元素为id为userinfo的标签为button的按钮,使用>分隔
伪类
并非页面上的属性,而是某种表现形式,可以理解为函数,通过:进行调用。
示例代码:
page.click('input:nth-child(2)') # 点击具有同一个父节点的第二个input page.click('button:not([disabled])') # 点击不具有disabled属性的button按钮 page.textContent("article:has(div.promo)")
本站所有内容均为原创,本站保留所有权利。仅允许非商业用途的转载,但必须注明来源网站、作者、来源链接!否则,由此造成的一切后果,由转载方承担!