如何使用python延迟加载网页?

时间:2018-03-12 07:24:10

标签: python html selenium-webdriver

我尝试了phantosJS,但它很慢,需要10秒才能获得HTML,每次运行脚本时,selenium会告诉我它不再受支持。 我可以用其他工具替换phantomJS吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,在页面源中找到一个元素,可以是任何内容,然后使用WebDriverWait库和预期条件。

最后,这就是你应该拥有的:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome("[path to chromedriver]") # Or use any other browser
driver.get([your_URL])
WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.TAG_NAME, 'title'))

然而,据说driver.get()方法不等待某些事情,例如。 ajax请求。您必须通过等待页面上所需元素的存在来确保页面完全加载,或者明确等待ajax请求等。