packagingmeterial {By.id($(“#menuDiv span”)。first()。text())}
答案 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/