【发布时间】:2014-04-16 09:32:21
【问题描述】:
我有一个 Selenium Webdriver 脚本,用 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 个网址中就有 1 个无法完成加载。所以,我只想添加一个尝试运行该步骤的步骤
print driver.current_url
等待 10 秒,如果不起作用,请重新启动脚本。
有人有什么想法吗?
在 osx 上运行 Selenium Webdriver 和 python 2.7
【问题讨论】:
-
这并不像您指出的那么简单。 URL 更改的事实并不表示 页面 已完成加载。
-
感谢@Arran 的回复。我也曾害怕过。我面临的问题是脚本的其余部分在页面最终加载之前不会继续。如果我单击浏览器上的顶部按钮,脚本会继续正常运行,但必须这样做会破坏测试自动化的目的。
-
您的页面可能有一些由 AJAX 调用添加的内容,需要一些额外的时间才能完成。您需要根据需要设置一些明确的wait。
-
@jJavier 感谢您的回复。我不确定是不是因为这个加载事件是随机发生的并且它永远不会完成加载(我已经把它放在了一夜之前)。我尝试过使用等待(使用 element_is_clickable),但它似乎不起作用。
标签: python python-2.7 selenium-webdriver