JS通过selenium web驱动程序执行时给出了错误的值

时间:2013-10-29 14:41:26

标签: javascript selenium

我正在使用JS来查找某些类型的类数。当我在webdriver中执行JS时,它给了我错误的值。当我在Firebug控制台上执行相同的JS时,它给了我正确的价值。

的webdriver:

返回0

int Rects = ((IJavaScriptExecutor)driver).ExecuteScript<int>(" $('.optimization.flighting .interval').size()");

返回4

$('.optimization.flighting .interval').size()

1 个答案:

答案 0 :(得分:0)

如果没有关于页面本身的更多信息,你试图定位的那些元素,jQuery的版本等等,我只能猜到一个答案(如果证明错误我会乐意删除),但我怀疑它是JavascriptExecutor在返回值时需要更多推动:

int Rects = ((IJavaScriptExecutor)driver).ExecuteScript<int>("return  $('.optimization.flighting .interval').size()");

具体来说,在实际Javascript之前添加return语句,以类似的方式添加return到C#方法。

(另外,为什么你没有使用内置的元素查找机制?)