感谢您回答我之前的问题,但随着一个问题的解决,显然又发现了另一个问题。
与Flash游戏本身的交互现在是问题所在。我尝试研究如何在 Selenium 中做到这一点,但无法完成。我见过 FlashSelenium、Sikuli 和 AutoIT。
我只能找到Java中FlashSelenium的文档,对我来说使用AutoIT比Sikuli更容易,因为我必须学习使用Jpython来创建我想要的脚本,我并没有偏离学习只是尝试尽快完成这件事。至于 AutoIT,唯一的问题是我不明白如何将它与 seleium 一起使用
from selenium import webdriver
import autoit
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://na58.evony.com/s.html?loginid=747970653D74727947616D65&adv=index")
driver.maximize_window()
assert "Evony - Free forever " in driver.title
到目前为止,我已经有了这个,它正在做应该做的事情,即使用“driver.get”创建一个新帐户,但是当我到达该页面时,它都是闪存,我无法与网页中的任何内容交互,所以我必须使用 AutoIT,但我不知道如何让它从 selenium 停止的地方“接起”。我希望它与网页上的按钮进行交互,并且通过查看 stackoverflow 上的上一篇文章,我可以使用 (x,y) 来指定位置,但不幸的是该文章没有对此进行解释。任何和所有信息都会很棒,谢谢。
是的,您可以使用任意数量的抓取库(scrapy http://scrapy.org/ and 美丽的汤 http://www.crummy.com/software/BeautifulSoup/既易于使用又非常强大)。不过就我个人而言,我喜欢Selenium http://www.seleniumhq.org/和它的python 绑定 https://selenium-python.readthedocs.org/因为它们是最灵活的。你的最终脚本看起来像这样:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://xx.yy.zz")
# Click the "New comer, click here to play!" button
elem = driver. find_element_by_partial_link_text("Click here to play")
elem.send_keys(Keys.RETURN)
您可以发布页面的源代码吗(也许使用Pastebin http://pastebin.com)?
Edit:已更新以向您展示如何单击“单击此处播放”按钮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)