我正在雅虎注册页面上玩Splinter。当我尝试填写yahoo用户名时出错了。 以下是代码。我很确定下面的代码没有任何问题。
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")
如果我停止该程序,浏览器将再次活动。 我的一个猜测是它正在等待诸如用户名建议之类的东西,因为它与“名字”和“姓氏”字段一起正常工作。
我使用的是Windows 8,Eclipse,Splinter 0.6.0,Firefox 30.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'")