为了获取网站js渲染后的html,需要利用selenium加载网站,但是会出现加载时间过长的现象,因此可以限制其加载时间以及强制关掉加载:
# !/usr/bin/python3.4
# -*- coding: utf-8 -*-
from selenium.common.exceptions import TimeoutException
from selenium import webdriver
# 打开谷歌浏览器
browser = webdriver.Chrome()
# 设定页面加载限制时间
browser.set_page_load_timeout(10)
# 如果10秒内没有加载完成就会报错
# selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: 1.684
try:
browser.get('http://www.amazon.com/dp/B001UPMC1Y')
# 打印html
print(browser.page_source)
except TimeoutException:
# 报错后就强制停止加载
# 这里是js控制
browser.execute_script('window.stop()')
print(browser.page_source)
browser.quit()