我正在使用JS来查找某些类型的类数。当我在webdriver中执行JS时,它给了我错误的值。当我在Firebug控制台上执行相同的JS时,它给了我正确的价值。
的webdriver:
返回0
int Rects = ((IJavaScriptExecutor)driver).ExecuteScript<int>(" $('.optimization.flighting .interval').size()");
返回4
$('.optimization.flighting .interval').size()
答案 0 :(得分:0)
如果没有关于页面本身的更多信息,你试图定位的那些元素,jQuery的版本等等,我只能猜到一个答案(如果证明错误我会乐意删除),但我怀疑它是JavascriptExecutor在返回值时需要更多推动:
int Rects = ((IJavaScriptExecutor)driver).ExecuteScript<int>("return $('.optimization.flighting .interval').size()");
具体来说,在实际Javascript之前添加return
语句,以类似的方式添加return
到C#方法。
(另外,为什么你没有使用内置的元素查找机制?)