0

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

网络驱动程序:

返回 0

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

返回 4

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

1 回答 1

0

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

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

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

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

于 2013-10-29T14:51:27.740 回答