繁体   English   中英

[Python]Robot Framework中的Selenium关键字点击<a>标签</a>内的span role="button"

[英][Python]Selenium keyword in Robot Framework to click span role="button" inside <a> tag

我想自动化下载场景。

这是网页的片段/部分:

<div id="widget-header-1" class="right-header">
<a id="Edit-icon-1" href="#" class="widget-button">     
<span class="ui-icon ui-icon-pencil ui-state-default" role="button" alt="Edit" title="Edit"></span></a><a id="Email-icon-1" href="#" class="widget-button">     
<span class="ui-icon ui-icon-mail-closed ui-state-default" role="button" alt="Email" title="Email"></span>
</a>
<a id="Download-icon-1" href="#" class="widget-button">     
<span class="ui-icon ui-icon-arrowthickstop-1-s ui-state-default" role="button" alt="Download" title="Download">
</span>
</a>
<a href="/dashboard_widgets/1" class="widget-button">
<span class="ui-icon ui-icon-zoomin ui-state-default" role="button" alt="Zoom In" title="Zoom In">
</span>
</a>
<a href="#" class="widget-button"><span class="ui-icon ui-icon-trash           ui-state-default" role="button" alt="Delete" title="Delete">
</span>
</a>
</div>

在我的机器人框架代码中,我使用了:

Click Button    //span[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]

但是当我在 RIDE 上运行它时,我得到了错误:。

Button with locator '//span[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]' not found.

//*span使用相同会引发错误: The string '//*span[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]' is not a valid XPath expression.

我也尝试过使用以下 xpath,但没有运气:

//*[@id="Download-icon-1"]/span

Button with locator '//*[@id="Download-icon-1"]/span' not found.

//a[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]/span

给出错误: Button with locator '//a[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]/span' not found.

即使我使用Click Link ,我也会看到一个错误: Link with locator '//a[@class="ui-icon.ui-icon-arrowthickstop-1-s.ui-state-default"]' not found.

Click Button仅用于<button>类型的元素 - 您的目标是<span>
在 html 源代码中,您已显示 class 值为"ui-icon ui-icon-arrowthickstop-1-s ui-state-default" ,但您已用点更改了每个空格字符 - 这不起作用。
//*span确实是无效的 xpath,因此错误 - 星号本身就是节点名称(“任何类型”),它不用作(通配符?)前缀。

用这个改变它:

Click Element    //span[@class="ui-icon ui-icon-arrowthickstop-1-s ui-state-default"] 

, 或者:

Click Element    //*[@id="Download-icon-1"]/span

,只要这些类/id 值不是在重新加载时随机生成的,这两个调用应该可以工作。

总的来说, Click Element不关心目标元素的类型——它只是点击,与Click Button相反。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM