1. selenium webdriver在get方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行。
例如:get 汽车之家页面时会等待很长时间,其实页面基本元素都已加载,可进行后续操作
可以通过set_page_load_time()方法来设定时间,
然后捕获timeout异常 并 通过执行Javascript来停止页面加载 window.stop()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from
selenium.common.exceptions
import
TimeoutException
startTime
=
time.time()
print
"start time is: %0.3f"
%
startTime
driver
=
webdriver.Firefox()
# 设定页面加载限制时间
driver.set_page_load_timeout(
30
)
driver.maximize_window()
try
:
driver.get(
'http://www.autohome.com.cn/'
)
except
TimeoutException:
print
'time out after 30 seconds when loading page'
driver.execute_script(
'window.stop()'
)
#当页面加载时间超过设定时间,通过执行Javascript来stop加载,即可执行后续动作
|
该代码在
2. 使用指定的FF来创建driver
1
2
3
|
from
selenium.webdriver.firefox.firefox_binary
import
FirefoxBinary
myFF
=
FirefoxBinary(
'/root/bobo/firefox/firefox-bin'
)
driver
=
webdriver.Firefox(firefox_binary
=
myFF)
|