硒查找按钮

Selenium find button

本文关键字:按钮 查找      更新时间:2023-09-26

Hy。我的硒IDE有问题。我在一张表上有一个按钮,我必须点击它

命令:单击目标:xpath=//table[@id='mainForm:dataTable']//tr[contains(.,'test1'(]/td[9]/div/table/tbody/tr/td[containes(.,'Edit'(]/a

当我点击硒元素的"查找"按钮时,它会显示我表格中"test1"的"编辑"按钮。所以selenium找到了按钮,这意味着我在目标中写的内容必须是正确的。

问题是,如果我想进行测试,硒会说:

[error]找不到元素//table[@id='mainForm:dataTable']//tr[contains(.,'test1'(]/td[9]/div/table/tbody/tr/td[containes(.,'Löschen'(]/a

我不知道为什么。

请帮我解决这个问题:(

可能该文本所在的行不是9?如果页面上没有其他类似的td,可以尝试/td[contains(., 'Löschen')]/a。好的做法是在服务器脚本中以某种方式对该元素进行签名(例如,添加rel=或title=或只是特定的id=(,并通过该参数找到它。

尝试运行从none扩展这个xpath的测试,您应该会发现不存在完全请求的元素的情况,比如:

//table
//table[@id='mainForm:dataTable']
//table[@id='mainForm:dataTable']//tr
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td
//table[@id='mainForm:dataTable']//tr[contains(., 'test1')]/td[9]

依此类推,直到错误出现

也许页面上有一些java脚本可以在DOM树中进行修改