playwright-元素定位(一)

#同步模式
from playwright.sync_api import sync_playwright  #导入同步模块

#创建一个Playwright的管理器对象
with sync_playwright() as p:    #等同于p=sync_playwright()
    #基于p创建一个浏览器对象(默认谷歌),slow_mo全局等待1s
     bro=p.chromium.launch(headless=False,slow_mo=1000)#headless 默认是False 有头 即展示浏览器运行界面 改为True即为无头模式 运行时则不会显示浏览器界面
    #创建一个浏览器页面
     page=bro.new_page()
    #在指定的页面中进行请求发送
     page.goto("https://www.baidu.com")
     #实现如何一个字符一个字符的录入 (模拟人的行为动作)方式一
     # input_tag=page.locator('#kw')
     # input_tag.focus()
     # text='hello world'
     # for char in text:
     #     page.keyboard.type(char,delay=500)#设置输入的时间间隔
     # page.locator('#su').click()
     #实现如何一个字符一个字符的录入 (模拟人的行为动作)方式二
     input_tag=page.locator('#kw').press_sequentially('hello world',delay=500)#设置输入的时间间隔
     page.locator('#su').click()
     # 在搜索输入框输入内容
     page.locator('#kw').fill('python教程')
     page.locator('#su').click()
     #页面回退
     page.go_back()
     page.locator('.s_ipt').fill('爬虫')
     page.locator('input.bg').click()
     #标签+属性定位
     page.locator('input#kw').fill('人工智能')
     page.locator('#su').click()
     page.go_back()
     # 层级定位
     page.locator('#form > span >input#kw').fill('数据分析')
     page.locator('#su').click()

     page.close()
     bro.close()






posted @ 2024-04-08 23:09  NiceTwocu  阅读(54)  评论(0编辑  收藏  举报