在网站上运行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/

10-11 07:12