正文

Python中Playwright的常用操作方法分享(python汉诺塔递归代码,要移动的原盘个数不能大于5)学到了吗

文章摘要

本文详细介绍Playwright的常用操作方法,涵盖获取页面元素、点击按钮和链接、获取标签页、获取元素属性、设置超时、单击元素、模拟鼠标点击和拖放操作等。这些方法可以帮助开发者高效地进行自动化测试和爬虫开发。 主要操作包括: 1. **获取页面元素**:`page.locator()`方法用于定位页面元素,支持通过表达式和参数获取特定元素。 2. **点击操作**:使用`element.click()`方法点击按钮或链接,支持定位元素后直接点击。 3. **标签页操作**:`BrowserContext.pages`属性获取所有打开页面,遍历获取URL。 4. **属性获取**:使用`element.evaluate()`方法获取元素属性,并通过`get_attribute()`方法访问属性值。 5. **超时设置**:`page.click()`方法支持设置超时,避免悬停在不可访问元素上。 6. **单击元素**:通过`page.locator()`方法定位元素后,使用`element.click()`进行点击操作。 7. **模拟鼠标操作**:使用`page.mouse`方法模拟鼠标点击和拖放操作,支持长按和松开。 这些操作方法对自动化测试和爬虫开发非常有帮助。


目录1. Playwright获得所有的Cookies2. Playwright获得所有的链接3. Playwright获得包含特定字符串/文本的所有链接4. Playwright点击按钮4.1 先定位元素4.2 直接点击5. Playwright点击链接5.1. 先定位元素5.2 直接点击6.Playwright获得所有的标签页7.Playwright获取元素的所有属性8.点击时设置超时9.如果元素存在则单击元素10.模拟鼠标点击11.拖放操作

本文详细介绍了Playwright的常用操作方法,包括获取页面元素、点击按钮和链接、获取标签页、获取元素属性、设置超时、单击元素、模拟鼠标点击和拖放操作等。这些方法可以帮助开发者更加高效地进行自动化测试和爬虫开发。

可以使用 BrowserContext.cookies() 方法来获取特定的Cookie。如果没有指定参数,将返回所有Cookie。

# Get all cookies all_cookies=browser_context.cookies()

可以使用page.locator()方法并指定a表达式来获取页面所有的链接。

page_elements=page.locator(‘a’) print(f”{page_elements.count()} link/links are found.”)

使用page.locator()方法并指定 a:has-text() 表达式来获取页面的所有链接。

page_elements=page.locator(‘a:has-text(“田辛老师”)’) print(f”{page_elements.count()} link/links are found.”)

点击按钮的基本思路就是使用click()方法。

element=page.locator(‘input[name=”goto_tdouya_homepage”]’) element.click()
element=page.click(‘input[name=”goto_tdouya_homepage”]’)

和按钮一样, 主体思路还是使用click()方法。 注意, 和按钮不同的是,link元素的定位需要选择第一个元素。

element=page.locator(‘a:has-text(“goto_tdouya_homepage”)’).first element.click()
page.click(‘a:has-text(“goto_tdouya_homepage”) >> nth=0’

现在的浏览器都是支持多个标签页的。 那么我们可以采用BrowserContext.pages属性来获取所有的打开页面。

## 获得所有被打开的pages/tabs opened_pages=context.pages # 枚举所有的打开页面的url for p in opened_pages: print(p.url)

可以使用locator.evaluate()方法执行Javascript表达式, 获取元素的所有属性名。 并枚举他们,并使用get_attribute()方法获得每个属性的值。

# 定位元素 element=page.locator(‘img_tdouya’).first # 获得所有的属性 el_attrs=element.evaluate(“el=> el.getAttributeNames()”) # 枚举所有的属性名称和值 for attr in el_attrs: print(attr, “:”, element.get_attribute(attr))

虽然Playwright的超时要比Selenium友好的多。 但是,必要的时候也可以设置。 尤其是一些严苛环境下。

# timeout的单位是毫秒, 默认值是30秒,也就是30000 page.click(“#tdouyaButton”, timeout=60000)

在本小结中, 我们探索的情形是元素有可能存在有可能不存在。 整体思路是综合利用上面提到过的page.locator()方法。检查元素数量。 如果大于0, 则进行后续点击操作。

# 获得元素 elements=page.locator(‘a:has-text(“田辛老师”)’) # 获得元素数量 link_number=elements.count() # 元素数量大于0, 则进行点击操作 if link_number > 0: elements.first.click()

使用page.mouse.click()方法来点击页面中特定位置的元素。

page.mouse.click(1700, 1450)

使用page.mouse.move实现拖动, 使用page.mouse.up()、page.mouse.down()方法模拟鼠标左键长按和放开的操作。

page.mouse.move(150, 150) page.mouse.down() page.mouse.move(300, 300) page.mouse.up()

到此这篇关于Python中Playwright的常用操作方法分享的文章就介绍到这了,更多相关Python Playwright内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:python?playwright?库上传和下载操作(自动化测试?playwright)Python Playwright 文本框操作技巧Python开源自动化工具Playwright安装及介绍使用python playwright 自动等待和断言详解Python使用pytest-playwright的原因分析python playwright–pytest-playwright、pytest-base-url插件编写用例