在网站上运行Selenium测试时,我有一些Flash元素,我无法使用Selenium/Python进行测试。我想调出一个单独的终端窗口,运行Sikuli OCR测试,然后再返回Selenium/Python测试。我还不能完全弄清楚这一点。我将XXX放在我不知道要打开和运行Sikuli脚本的新终端的参数的位置。
def test_05(self):
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_link_text("Home").click()
driver.find_element_by_id("open_popup").click()
driver.find_element_by_id("screen_name").send_keys("user")
driver.find_element_by_id("password").send_keys("pwd")
driver.find_element_by_id("login_submit").click()
driver.find_element_by_id("button").click()
time.sleep(120)
os.system('XXX')
os.system('./Sikuli/sikuli-script -r test.sikuli')
我敢肯定,这里有几处错误。任何帮助将不胜感激。我已经搜索并阅读了可以在此找到的内容,但无法将它们全部一起使用。
最佳答案
我遇到了类似的问题,所以我为Sikuli编写了一个CPython模块。该模块托管在on GitHub中,可通过pip install sikuli
获得。它可以使用pyjnius访问包含的Sikuli jar,因此您不必使用Jython甚至无需安装Sikuli本身(尽管我出于录制目的建议使用它)。该模块当前涵盖了大多数较简单的Sikuli函数,因此它应涵盖许多用例。
安装后,一个简单的from sikuli import *
将使您入门,但是作为最佳实践,我建议您仅导入要使用的功能。这对于该模块特别重要,因为sikuli具有type
函数,该函数会覆盖Python自己的type
函数。
关于python - 从Python(Selenium)调用Sikuli脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18198121/