我正在尝试进行机器人测试,在表格单元格中输入一个值,然后按 Enter 键更新表格。
我首先尝试使用输入文本,但它不适用于表格单元格,因为它们不是文本字段:
Input Value To Cell
| [Arguments] ${row} ${col} ${amount}
| Double Click Element xpath=//*/table/tbody/tr[${row}]/td[${col}]
| Input Text xpath=//*/table/tbody/tr[${row}]/td[${col}] ${amount}
结果是:
InvalidElementStateException:消息:无效元素状态:元素必须是用户可编辑的才能清除它。
我认为我唯一的选择是使用按键并为其提供单元格位置。所以,这就是我尝试过的:
Input Value To Cell
| [Arguments] ${row} ${col} ${amount}
| ${cell} Get Table Cell xpath=//* ${row} ${col}
| Press Key ${cell} ${amount}
结果是:无法找到表 xpath=//* 行 #x 和列 #y 中的单元格。我尝试使用“表应包含”检查已设置的单元格值,它找到了一个包含该值的表?
双击工作得很好,它使单元格“可编辑”,所以我只是在寻找一种写东西的方法。我找不到任何关键字来编写或按键(例如“按按键”,但没有定位器,只需按按钮)。
最佳答案
我自己找到了答案。我没有意识到 DOM 是动态的,所以在把头撞到墙上一段时间后,我决定检查双击单元格时 DOM 是否发生变化。
Boom 出现了一个输入元素,现在我可以使用其类对输入字段进行 xpath 并使用输入文本关键字:)。
关于python - 机器人框架通过按键更改表格单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45459698/