我在页面上有一个HTML格式的Javascript函数页面:
<body>
...
<script type="text/javascript">
function myfunc(){
// do smth
}
</script>
</body>
我在我的RSpec测试中使用Capybara和Selenium Webdriver。
访问此页面后,我想调用此函数:
it "my test" do
visit "http://example.com/mypage.html"
page.execute_script "myfunc(); "
end
几乎所有时间这个测试都没问题。但有时我收到错误:
Selenium::WebDriver::Error::JavascriptError: myfunc is not defined
如何解决这个问题?是因为Selenium在整个HTML页面(加上Javascript)加载之前调用了函数吗?