2016-09-30 32 views
0

我试图用一个简单的Python /硒脚本硒与Python会加载一个页面

# encoding=utf8 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import datetime as dt 
import codecs 
import os 

myDriver=webdriver.Chrome() 
myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
print "Test" 
myDriver.quit() 

现在阅读页面,如果我使用谷歌浏览器,页面加载打开该网址,就是这样。 通过此脚本执行此操作时,页面将保持加载状态,并且脚本无法继续。

我在Windows 7中,使用Python 2.7.12,硒2.53.6和chromedriver 2.24.41.74.31

+0

我查过了,它工作完美 – Piyush

回答

0

我不知道那是什么页面是干什么的,但肯定是非典型的。我的建议是最好设置页面加载超时,然后办理相关TimeoutException异常:

# encoding=utf8 
from __future__ import print_function 

from selenium import webdriver 
from selenium.common.exceptions import TimeoutException 

myDriver=webdriver.Chrome() 

try: 
    # Set the page load timeout 
    myDriver.set_page_load_timeout(10) 
    try: 
     myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
    except TimeoutException: 
     print("Page expired") 

    # Do stuff here 

finally: 
    myDriver.quit() 

的缺点是,(我认为)这将杀死无论是在防止driver.get电话回访回地面发生,所以一些页面功能可能会从根本上打破。

+0

那么你有同样的问题..很少看! 我无法理解的一点是,为什么在一个普通的chrome实例中它正确加载,并且在chromedriver中,这不会发生。 – user3385666

+0

是的,该页面特定的内容始终处于永久加载状态。 –

+0

@ user3385666尝试使用其他浏览器/其他URl并查看问题是否存在。当我试用它时,你的代码就像一个魅力。我用过Firefox浏览器。 webdriver.Firefox()和我的上网速度也非常好。 –