Python Selenium Webdriver是否等待url?

Python Selenium Webdriver是否等待url?,python,python-2.7,selenium-webdriver,Python,Python 2.7,Selenium Webdriver,我有一个SeleniumWebDriver脚本,用python编写,可以打开url def GotToURL(self): #Go to url driver.get("http://someurl.com") #Prints url once it is finished loading print driver.current_url 问题是,每15个url中就有1个无法完成加载。因此,我想添加的是一个尝试运行该步骤的步骤 print driver.current_u

我有一个SeleniumWebDriver脚本,用python编写,可以打开url

def GotToURL(self):

  #Go to url
  driver.get("http://someurl.com")

  #Prints url once it is finished loading
  print driver.current_url
问题是,每15个url中就有1个无法完成加载。因此,我想添加的是一个尝试运行该步骤的步骤

 print driver.current_url
持续10秒,如果不起作用,请重新启动脚本

有人有什么想法吗


在osx上运行Selenium Webdriver和python 2.7,我能想到的最佳选择是使用

例如,您可以这样定义驱动程序

driver = webdriver.Ie() #note that I'm using IE
driver.set_page_load_timeout(10) #set the max to 10s

然后将您的操作放在try-except语句中,指定TimeoutException。这样做意味着,如果页面加载时间超过10秒,驱动程序必须抛出异常,然后您可以定义如何处理这种情况。

这并不像您指出的那么简单。URL更改的事实并不表示页面已完成加载。感谢@Arran的回复。我也很害怕。我面临的问题是,在页面最终加载之前,脚本的其余部分不会继续。如果我单击浏览器上的顶部按钮,脚本将继续正常运行,但这样做会破坏测试自动化的目的。您的页面可能有一些通过AJAX调用添加的内容,需要一些额外的时间才能完成。您需要根据需要设置一些明确的设置。@jJavier谢谢您的回复。我不确定这是不是因为这个加载事件是随机发生的,它从来没有完成加载(我在前一天晚上就把它忘了)。我尝试过使用waits(使用element_是可点击的),但似乎不起作用。谢谢你的回复。不幸的是,我遇到了解决方案的第一个障碍,因为我似乎无法使异常正常工作<代码>来自selenium.common.exceptions导入TimeoutException驱动程序。设置\页面\加载\超时(5)驱动程序。获取(http://url.com)try:print DRIVER.current_url,TimeoutException除外:print'页面加载失败加载超时时,未打印“页面加载失败”。相反,
selenium.common.exceptions.TimeoutException:Message:u'在等待页面加载时超时。
有什么想法吗?我做错什么了吗?@user1799835不客气。是在get期间引发异常的,因此您必须在try范围内插入该行才能获得所需的内容。