创业板我正在研究这个问题,我需要准确的包装材料对象,请您告诉我

时间:2017-07-06 08:07:56

标签: jquery spock geb

enter image description here

packagingmeterial {By.id($(“#menuDiv span”)。first()。text())}

1 个答案:

答案 0 :(得分:0)

这很难回答,因为有许多不同的方法可以获得您所追求的元素。我认为最简单的方法是定义这样的元素:

$(By.xpath("//span")).text()

由于这是截图中唯一的“跨度”,我将假设它是页面上唯一的跨度。

如果你需要引用最近的ID,你也可以这样做:

$(By.id("#menuform:loggedInMenu_0 span")).children()[0].children()[0].text()

如果您想使用在问题中发布的相同元素定义,可以执行以下操作:

$(By.id("#menuDiv span")).children()[0].children()[0].children()[0].children()[0].children()[0].children()[0]

我在上面的评论中也发现了一些错误。

在您定义的静态内容中:

static content = { packagingmeterial {$("#menuDiv span").first().text()} }

但稍后您尝试调用packagingmeterial.click()这将无效,因为packagingmeterial不是Navigator对象,它是一个String当您说.text()时,您将它从导航器转换为String。所以你也应该尝试删除它,看看它是否有帮助。

您还可以阅读此处找到的geb文档: http://www.gebish.org/