我想刮掉由无限滚动实现的页面的所有数据.以下python代码有效.
for i in range(100):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
Run Code Online (Sandbox Code Playgroud)
这意味着每次向下滚动到底部时,我都需要等待5秒钟,这通常足以让页面完成加载新生成的内容.但是,这可能不是时间效率.页面可以在5秒内完成加载新内容.每次向下滚动时,如何检测页面是否已完成加载新内容?如果我能检测到这一点,一旦我知道页面加载完毕,我可以再次向下滚动以查看更多内容.这更节省时间.
我该怎么做XPath:
//bookstore/book/title or //bookstore/city/zipcode/title
Run Code Online (Sandbox Code Playgroud)
只是//title不行,因为我也有//bookstore/magazine/title
ps我看了很多或者例子,但主要是属性或单节点结构.
我有两个元素可以等待,我想wait直到它们中的任何一个出现在页面上。
我正在尝试使用xpath定位器。但它不起作用。
By.xpath("//*[(contains(@id,'idNumber1')) or (contains(@id,'idNumber2'))]"));
Run Code Online (Sandbox Code Playgroud)
这是可以实现的吗?
请帮帮我。