python Splinter browser.fill方法冻结浏览器
我正在雅虎注册页面上玩Splinter。当我尝试填写雅虎用户名时,出现了一些问题。 下面是代码。我很确定下面的代码没有错python Splinter browser.fill方法冻结浏览器,python,splinter,Python,Splinter,我正在雅虎注册页面上玩Splinter。当我尝试填写雅虎用户名时,出现了一些问题。 下面是代码。我很确定下面的代码没有错 with Browser() as browser: # Visit URL url = "https://edit.yahoo.com/registration?.intl=us&.lang=en-US&.pd=ym_ver%253D0%2526c%253D%2526ivt%253D%2526sg%253D&new=1&.done=
with Browser() as browser:
# Visit URL
url = "https://edit.yahoo.com/registration?.intl=us&.lang=en-US&.pd=ym_ver%253D0%2526c%253D%2526ivt%253D%2526sg%253D&new=1&.done=http%3A//mail.yahoo.com&.src=ym&.v=0&.u=3lt6ffl9q1g0m&partner=&.partner=&pkg=&stepid=&.p=&promo=&.last=&fsredirect=1&fs=uKhjpV.HafCCqUaFfpsAA6U3jii0wwSSblFjRz2HbaZq5sH_VJeVqejV5CUyegWCV3V2PxNx"
browser.visit(url)
browser.fill("yahooid","Zara")
如果我停止程序,浏览器将再次激活。
我的一个猜测是,它正在等待用户名建议,因为它可以很好地处理“first name”和“last name”字段
我使用的是Windows8、Eclipse、Splinter0.6.0、Firefox30.0
在玩Splinter的时候,我可以用另一种方法来做同样的事情。
在解决这个问题之前,有相同问题的人可以使用以下概念
with Browser() as browser:
# Visit URL
url = "https://edit.yahoo.com/registration?.intl=us&.lang=en-US&.pd=ym_ver%253D0%2526c%253D%2526ivt%253D%2526sg%253D&new=1&.done=http%3A//mail.yahoo.com&.src=ym&.v=0&.u=3lt6ffl9q1g0m&partner=&.partner=&pkg=&stepid=&.p=&promo=&.last=&fsredirect=1&fs=uKhjpV.HafCCqUaFfpsAA6U3jii0wwSSblFjRz2HbaZq5sH_VJeVqejV5CUyegWCV3V2PxNx"
browser.visit(url)
#browser.fill("yahooid","Zara")
browser.execute_script("document.getElementsByName('yahooid')[0].value='Zara'")
您使用的是哪个splinter和firefox版本?我使用的splinter版本是0.6.0,firefox版本是28.0升级到最新的firefox(目前为30.0)有帮助吗?我只是将firefox升级到30.0,但它并没有解决这个问题。有趣的是,我在Mac上使用相同的工具-无法重现这个问题。