我正在尝试在CSS链接上声明文本,至少我认为它是CSS。 当我单击以在页面中查找元素时,这就是元素:css =#charitable-tab-link> a> div.rotational-span.result-flags。
当我给一个Charitable Giving值时,它失败了,这是由于该元素具有与其一起动态生成的其他文本。 错误消息:实际值'Charitable Giving16 / 19'与'exact:Charitable Giving'不匹配
我只想包括“慈善捐赠”部分,因为这些值可能会根据显示的页面而改变。
我已经在div.rotational-span.result-flags之后在目标字段中尝试了一些操作,例如[start-with('Charitable Giving')],但我不知道将这些命令放在何处仅声明部分文字,将不胜感激。
<div class="col-md-3 ignore-print-always" style="">
<ul class="nav nav-pills nav-stacked" id="profile-pills-tab" style="margin-left: 0px;
opacity: 1; max-width: inherit;">
<li class="ui-state-default nav-link in active" id="detailed-tab-link" role="tab">
<a data-toggle="tab" href="#detailed-tab">
<div class="menu-icon">
<i class="fa fa-address-card"></i>
</div>
<div class="rotational-span result-flags">
Profile Summary
</div>
<button type="button" class="close menu-item-remove" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</a>
<div class="list-overlay" style="display: none;"><i class="fa fa-spin fa-spinner">
</i></div></li>
<li class="ui-state-default nav-link in" id="charitable-tab-link" role="tab">
<a data-toggle="tab" href="#charitable-tab">
<div class="menu-icon">
<i class="fas fa-hand-holding-heart"></i>
</div>
<div class="rotational-span result-flags">
Charitable Giving
<div title="55 High Quality Results / 55 Total Results"
class="menu-item-totals result-flag result-flag-hq">16 / 19
</div>
<input id="charitableHQ" value="16" type="hidden">
<input id="charitableTotal" value="19" type="hidden">
</div>
在文本文件中,这是命令
"comment": "",
"command": "assertText",
"target": "css=#charitable-tab-link > a",
"value": "*Charitable Giving*"
答案 0 :(得分:1)
当我给一个Charitable Giving值时,它失败了,这是由于该元素具有与其一起动态生成的其他文本。
所以您要寻找的是做一些partial matching with assertText。这应该非常容易,只需用*Charitable Giving*
(星号)将文本括起来即可。如果不起作用,则说明您的flavor of Selenium IDE中存在错误。它可以在kantu selenium ide中正常工作:
测试用例代码:
{
"CreationDate": "2018-7-9",
"Commands": [
{
"Command": "open",
"Target": "https://www.seleniumhq.org/projects/ide/",
"Value": ""
},
{
"Command": "comment",
"Target": "full match",
"Value": ""
},
{
"Command": "assertText",
"Target": "//*[@id=\"mainContent\"]/table/tbody/tr/td[1]/ul/li[1]",
"Value": "Easy record and playback"
},
{
"Command": "comment",
"Target": "partial match",
"Value": ""
},
{
"Command": "assertText",
"Target": "//*[@id=\"mainContent\"]/table/tbody/tr/td[1]/ul/li[1]",
"Value": "*record*"
}
]
}
您可以将此JSON复制并粘贴到kantu的“源视图”选项卡中并运行它。