python - 机器人框架通过按键更改表格单元格值

标签 python xpath robotframework

我正在尝试进行机器人测试,在表格单元格中输入一个值,然后按 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/

相关文章:

python - 从带有文件输出的脚本运行 Scrapy

ruby - 使用 XPath 选择根和子匹配表达式

java - XPath 无法通过 id 找到表

RobotFrameWork- 一些库未导入

python - 如何在 django 登录页面中添加 otp 身份验证

python - 查找数组中最长的子序列

xml - XSLT/Xpath - 在单个语句中组合多个轴以查找 "grand nephew"?

robotframework - 如何替换 Robot Framework 中的单引号 ( ' ) into double quotes ( ")?

python - 机器人框架 Selenium2Library 中的无缓存刷新

python - 在字符串列表中搜索多个关键字