如何在Robot Framework下使用Selenium2Library执行jQuery

时间:2013-09-04 07:48:28

标签: jquery selenium selenium-webdriver robotframework

我是机器人框架的新手,

并希望通过执行jQuery来模拟控制jQuery组件

然而,Selenium2Library几乎让我发疯。

尝试获取DOM组件的值,但日志显示为NONE。

参考http://d.pr/i/KXhw

以下是我的测试代码。

提前致谢。

click configuration
    [Tags]    xpath
    Open Browser    http://${host}    ie
    Log   "123"
    ${slide val}=    Execute JavaScript    window.jQuery("#gain_slider_handle").val();
    ${title}=       Execute JavaScript      window.$("head title")[0];
    ${t2}=          Execute JavaScript      window.eval('window.document.title')
    Log     ${slide val}
    Log     ${title}

我尝试使用Python通过selenium webdriver做同样的事情,

它也会得到“无”值。

def setUp(self):
    self.driver = webdriver.Ie(r"C:\\bin\\IEDriverServer.exe")
    self.driver.implicitly_wait(10)
    self.base_url = "http://172.19.1.28/setup/media/sensor.html"
    self.verificationErrors = []
    self.accept_next_alert = True
def test_py_robot(self):
    driver = self.driver
    driver.get(self.base_url )
    print "title:" + str( driver.execute_script("document.title"))
    print "wdr val:" + str( driver.execute_script("$('#wdr_strength').val()") )

1 个答案:

答案 0 :(得分:1)

使用jquery选择器时,需要确保web已加载jquery包。 如果没有,你可以执行JavaScript

var headID = document.getElementsByTagName(\"head\")[0];var newScript = document.createElement('script');newScript.type='text/javascript';newScript.src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';headID.appendChild(newScript);