Selenium phantomjs(python)在登录后没有重定向到欢迎页面,页面是使用dojo动态加载的

时间:2014-02-28 17:51:49

标签: python selenium phantomjs

我正在尝试使用dojo.js脚本登录使用dinly方式加载的网站。在我使用的测试中:

  • Selenium 2.40
  • Phantomjs 1.9.7(通过npm下载)
  • Ubuntu 12.04

当我使用driver = webdriver.Firefox()

尝试我的脚本时

一切正常,Firefox通过登录页面/login.do登录,通过身份验证页面到达目标网页,一切正常。

但是当我改为:driver = webdriver.PhantomJS()

时,我必须为Ubuntu服务器制作此代码,因此我无法使用GUI

我再次到达/login.do(print driver.current_url)
我试图使用WebDriverWait但没有任何反应。

PhantomJS for python是否会动态加载页面?如果不, 我可以使用其他工具或者更好吗,有人知道一本书或教程来理解XHR请求并使用urllib2来完成这项工作吗?

1 个答案:

答案 0 :(得分:0)

我刚刚发现我的问题是elem.send_keys(Keys.ENTER)行。 Phantomjs似乎非常快,所以我不得不在该行之前放置2秒钟的时间。现在脚本工作正常。发生的事情是没有正确点击用于登录的Enter按钮。当然time.sleep(2)不是解决问题的最佳方法,我会将ENTER语句更改为带有xpath的单击。