我有一个这样的用例,假设我使用scrapy playwright抓取一个网站abc.com,它加载的页面有3种不同的类型,比如
page1->#selector1
page2->#selector2
page3->#selector3
并且它是动态变化的,不能保证哪个先加载。我想点击选择器,根据哪个是用scrapy-playwright加载的。
有没有方法可以动态加载这个选择器?
我试过用
PageMethod("click","#selector1"),
PageMethod("click","#selector2"),
PageMethod("click","#selector3")
这将超时,因为在该时间点#selector2首先加载到页面上,导致操作失败,因为第一个方法是PageMethod(“click”,"#selector1”)
1条答案
按热度按时间bpzcxfmw1#
也许你可以检查选择器是可见的,然后你可以点击它?
我想你可以使用isVisible方法,因为scrapy_playwright支持的和你在playwright中所用的一样:https://github.com/scrapy-plugins/scrapy-playwright#supported-methods
当然,
isVisible()
是playwright中支持的方法:https://playwright.dev/python/docs/api/class-page#page-is-visible