JS在通过硒Web驱动程序执行时给出错误的值

JS giving wrong value when executing thru selenium web driver

本文关键字:出错 错误 执行 驱动程序 Web JS      更新时间:2023-09-26

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

网络驱动程序:

返回 0

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

返回 4

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

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

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

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

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

相关文章: