如何编写一个python脚本来继续尝试一个网页,直到它打开

我们正在等待姐姐的结果.与印度政府一样,很多事情都发生了.服务器很慢,流量很大.

所以,我想写一个python程序,继续尝试,直到服务器响应Http请求.但该计划:

import urllib
i=1
f = open("C:/Users/DELL/Desktop/neetpg.html",'w')
while(True):
    try:
        page = urllib.urlopen("http://www.nbe.gov.in/asr/neet_pdf/")
        print "Done"
        break
    except:
        print i
        i += 1
        continue
f.write(page.read())

print "check"

但该程序运行不正常.我尝试用facebook.com替换网址,它仍打印出数字.

此外,我想要的是,如果服务器确实响应,网页将加载js和css文件以及html文件,所有这些应该在浏览器中打开.

我也从http://docs.python.org/2/library/webbrowser.html开始提示
并将程序更改为:

import webbrowser
i=1
while(True):
    try:
        webbrowser.open("http://www.nbe.gov.in/asr/neet_pdf/")
        print "Done"
        break
    except:
        print i
        i += 1
        continue
print "check"

但所有这一切,都是在我的默认Web浏览器中打开一个新窗口,并将URL设置为给定的内容,然后“打开它”.同时,在python shell上打印Done和Check.

Web浏览器未收到服务器的响应,显示无法连接到www.nbe.gov.in.

怎么做到这一点?

编辑:刚刚看到facebook.com脚本工作了.它花了大约15次尝试,然后它发生了. .html文件写得正确.有了所有的CSS,也可能是JS.

为什么会这么做,需要这么多尝试,而我可以轻松地从浏览器中打开facebook.com.

最佳答案 试一试
selenium.

我们的想法是继续打开页面,直到司机看到正确的标题.如果它在那里,只需打破循环并打开页面:

from selenium import webdriver


driver = webdriver.Firefox()
while True:
    driver.get("http://www.nbe.gov.in/asr/neet_pdf/")

    if 'NEET-PG' in driver.title:
        break

希望有所帮助.

点赞