【问题标题】:Calling custom assert function from Selenium RC (Python) with a custom locator function in user-extensions.js使用 user-extensions.js 中的自定义定位器函数从 Selenium RC (Python) 调用自定义断言函数
【发布时间】:2011-10-11 22:07:06
【问题描述】:

我在 user-extensions.js 中编写了一个自定义断言函数,它使用自定义定位器函数(也在 user-extensions.js 中实现)来定位页面上的特定元素。

不谈细节;我需要自定义定位器功能,因为我试图在页面上的不同命名空间中定位元素 - Selenium 似乎不支持本机。

从 Selenium IDE 调用自定义断言函数时,它“隐式”使用自定义定位器函数来查找我正在寻找的元素,断言是否正常,一切正常。 “隐式”是指我使用目标“abc=...”调用断言函数,然后 Selenium IDE 知道应该使用 locateElementByAbc 定位器函数来查找特定元素。

但是,当从 Selenium RC (Python) 调用相同的自定义断言函数时,使用 Python 中的 do_command 函数,自定义定位器函数显然没有被隐式调用,并且找不到元素。

如何让我的 Selenium RC Python 脚本使用 locateElementByAbc 函数?请注意,启动 Selenium 服务器时会加载 user-extensions.js,因此该部分可以正常工作。也可以使用 Python 中的 Selenium do_command 函数调用 assert 函数。

感谢您的帮助,非常感谢!

【问题讨论】:

标签: python selenium selenium-rc locate user-extensions.js


【解决方案1】:

问题很可能是您的自定义定位器函数 (LocateElementByMyprefix()) 未注册。 Selenium RC 的 user-extension.js 设置与 Selenium IDE 稍有不同,而且时间可能会妨碍。定义函数后尝试调用selenium.browserbot._registerAllLocatorFunctions()。

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 2012-06-30
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    相关资源
    最近更新 更多