这是我的代码:
<div class="table row column" xpath="1">
<div class="table__head">
<div class="table__row">
<div class="table__cell sys-log__col-wrapper sys-log__col-id">
<div class="column small-2 sort_button_wrapper">
<button class="sort-ascending" ng-click="sortBy('Id', false)"></button>
<button class="sort-descending" ng-click="sortBy('Id', true)"></button>
</div>
ID
</div>
<div class="table__cell sys-log__col-wrapper sys-log__col-desc">Description</div>
</div>
</div>
${xpath_1} = //div[@class="table__row"]/div[1]
${xpath_2} = //div[@class="table__row"]/div[2]
我需要获取ID作为xpath_1
的输出,并获取Description作为xpath_2
的输出。但是当我尝试获取以下代码的输出时,我得到了:
${table_data}= Get Table Cell ${xpath_1}
此方法遇到的以下错误
关键字“ SeleniumLibrary.Get Table Cell”预期为3到4个参数,为1。
(或)
${table_data}= Get Text ${xpath_1}
此方法的输出是空空间
请建议我如何使用机器人框架从上表获取ID和Description。
答案 0 :(得分:0)
以示例为基础,我一直无法复制您的问题,因为在使用Get Text
关键字时,实际上提供了所需的ID值。以下是在您自己的设置中复制此文件的文件和方法。
创建一个新文件:
div_value.html
<html>
<body>
<div class="table row column" xpath="1">
<div class="table__head">
<div class="table__row">
<div class="table__cell sys-log__col-wrapper sys-log__col-id">
<div class="column small-2 sort_button_wrapper">
<button class="sort-ascending" ng-click="sortBy('Id', false)"></button>
<button class="sort-descending" ng-click="sortBy('Id', true)"></button>
</div>
ID774747474
</div>
<div class="table__cell sys-log__col-wrapper sys-log__col-desc">Description</div>
</div>
</div>
</div>
</body>
</html>
在此文件所在的目录中,执行以下命令:
python -m http.server 8989
我使用RED,但是其他IDE或文本编辑器也可以使用。创建一个机器人文件
div_value.robot
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${xpath_1} //div[@class="table__row"]/div[1]
${xpath_2} //div[@class="table__row"]/div[2]
*** Test Cases ***
Retrieve DIV Value
Open Browser
... url=http://127.0.0.1:8989/div_value.html
... browser=headlesschrome
# ${table_data}= Get Table Cell ${xpath_1}
${table_data1} = Get Text ${xpath_1}
${table_data2} = Get Value ${xpath_1}
No Operation
[Teardown] Close All Browsers
在RED中使用调试器,我在No Operation
关键字行上暂停了。