我尝试了phantosJS,但它很慢,需要10秒才能获得HTML,每次运行脚本时,selenium会告诉我它不再受支持。 我可以用其他工具替换phantomJS吗?
答案 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请求等。