groovy.lang.MissingPropertyException:类:Script1没有这样的属性:Cols

groovy.lang.MissingPropertyException:类:Script1没有这样的属性:Cols,groovy,groovyshell,Groovy,Groovyshell,我有一个如下的清单 List<WebElement> Cols = Rows.get(i).findElements(By.tagName('td')) 现在我将使用groovy中的Eval来转换这个表达式 String x = queryGenerator(values) //This will return Cols.get(0).getText().equals("some value") if(Eval.me(x){} 这会产生以下错误 groovy.lang.Missi

我有一个如下的清单

List<WebElement> Cols = Rows.get(i).findElements(By.tagName('td'))
现在我将使用groovy中的Eval来转换这个表达式

String x = queryGenerator(values) //This will return Cols.get(0).getText().equals("some value")
if(Eval.me(x){}
这会产生以下错误

groovy.lang.MissingPropertyException: No such property: Cols for class: Script1

我查看了groovy文档,Eval中的大多数都使用字符串、对象和表达式。有没有办法让Eval能够识别列表

一种可能的解释是,您是从groovy脚本运行此脚本的(即,只是一个
xxx.groovy
文件,文件中直接包含代码,没有任何
声明)。如果是这样的话,请参见示例,以获取有关groovy脚本中变量作用域的信息

长话短说,这是一个groovy脚本,您可以尝试:

Cols = Rows.get(i).findElements(By.tagName('td'))
(即没有初始类型声明)或

导入groovy.transform.Field
...    
@字段列表Cols=Rows.get(i).findElements(按.tagName('td'))
Cols = Rows.get(i).findElements(By.tagName('td'))
import groovy.transform.Field
...    
@Field List<WebElement> Cols = Rows.get(i).findElements(By.tagName('td'))