如何使用Python Playwright高效检测页面元素是否存在?
- 内容介绍
- 文章标签
- 相关推荐
本文共计442个文字,预计阅读时间需要2分钟。
前言:playwright+如何判断某个元素是否存在?locator+定位元素+使用locator定位元素,不管元素是否存在,都会返回一个locator对象,可以使用到count()方法统计元素的个数,如果元素个数是0,则表示元素不存在。
前言
playwright 如何判断某个元素是否存在?
locator 定位元素
使用 locator 定位元素,不管元素存不存在,都会返回一个locator 对象,可以用到count() 方法统一元素的个数,如果元素个数是 0, 那么元素就不存在
运行结果
<Locator frame=<Frame name= url='www.baidu.com/'> selector='id=kw'>1<Locator frame=<Frame name= url='www.baidu.com/'> selector='id=yoyo'>0locator 是定位当前页面上的元素,不会自动等待,如果用click等方法结合使用,会自动去等待元素处于可点击状态。
query_selector 定位
ElementHandle 表示页内 DOM 元素。ElementHandles 可以使用page.query_selector()方法创建。 Locator和ElementHandle之间的区别在于后者指向特定元素,而 Locator 捕获如何检索该元素的逻辑。
元素存在返回元素句柄,元素不存在返回None
# 元素存在 loc1 = page.query_selector('#kw') print(loc1) # JSHandle@node # 元素不存在 loc2 = page.query_selector('#yoyo') print(loc2) # None也可以用query_selector_all 复数定位方式返回一个list
# 元素存在 loc1 = page.query_selector_all('#kw') print(loc1) # [<JSHandle preview=JSHandle@node>] # 元素不存在 loc2 = page.query_selector_all('#yoyo') print(loc2) # []
本文共计442个文字,预计阅读时间需要2分钟。
前言:playwright+如何判断某个元素是否存在?locator+定位元素+使用locator定位元素,不管元素是否存在,都会返回一个locator对象,可以使用到count()方法统计元素的个数,如果元素个数是0,则表示元素不存在。
前言
playwright 如何判断某个元素是否存在?
locator 定位元素
使用 locator 定位元素,不管元素存不存在,都会返回一个locator 对象,可以用到count() 方法统一元素的个数,如果元素个数是 0, 那么元素就不存在
运行结果
<Locator frame=<Frame name= url='www.baidu.com/'> selector='id=kw'>1<Locator frame=<Frame name= url='www.baidu.com/'> selector='id=yoyo'>0locator 是定位当前页面上的元素,不会自动等待,如果用click等方法结合使用,会自动去等待元素处于可点击状态。
query_selector 定位
ElementHandle 表示页内 DOM 元素。ElementHandles 可以使用page.query_selector()方法创建。 Locator和ElementHandle之间的区别在于后者指向特定元素,而 Locator 捕获如何检索该元素的逻辑。
元素存在返回元素句柄,元素不存在返回None
# 元素存在 loc1 = page.query_selector('#kw') print(loc1) # JSHandle@node # 元素不存在 loc2 = page.query_selector('#yoyo') print(loc2) # None也可以用query_selector_all 复数定位方式返回一个list
# 元素存在 loc1 = page.query_selector_all('#kw') print(loc1) # [<JSHandle preview=JSHandle@node>] # 元素不存在 loc2 = page.query_selector_all('#yoyo') print(loc2) # []

