shixiaolong0
shixiaolong0

变化!如果今天的自己和昨天点自己没有差异,那么就是白活! 简书:https://www.jianshu.com/u/dd76e4af1f33 twitter:https://twitter.com/dragon72463399 rust学习笔记:https://dev.to/dragon72463399

playwright方法query_selector_all无法定位元素的问题

  • 能够定位到的写法:
data_list = page.locator('//div[@class="sc-ciFQTS sc-kHdrYz sc-bzPmhk bCbkOs eCZqsZ iQsGuB"]')
  • 不能定位到的写法:
data_list = page.query_selector_all('//div[@class="sc-ciFQTS sc-kHdrYz sc-bzPmhk bCbkOs eCZqsZ iQsGuB"]')
  • 问题出在了第一种方法自带识别判断是否元素已经加载进来了,而第二种方法不回识别,如果元素没有加载进来就显示为空;但是也很奇怪,上面一行代码都能执行,说明元素已经加载进来了啊,为什么反而后面一行的代码不能够识别呢;

这个问题到目前还没有解决

  • 针对第二种定位方式也有解决方案,如下
page.wait_for_selector('//div[@class="sc-ciFQTS sc-kHdrYz sc-bzPmhk bCbkOs eCZqsZ iQsGuB"]',state="visible")
data_list = page.query_selector_all('//div[@class="sc-ciFQTS sc-kHdrYz sc-bzPmhk bCbkOs eCZqsZ iQsGuB"]')
  • 就是在定位前,加一行代码进行判断
page.wait_for_selector('//div[@class="sc-ciFQTS sc-kHdrYz sc-bzPmhk bCbkOs eCZqsZ iQsGuB"]',state="visible")



CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论