如何在画布内定位元素以进行机器人框架自动化测试?

Posted

技术标签:

【中文标题】如何在画布内定位元素以进行机器人框架自动化测试?【英文标题】:How do I locate elements inside a canvas for robotframework automation testing? 【发布时间】:2021-12-31 19:59:06 【问题描述】:

我正在使用机器人框架和 python 来编写自动化测试用例。但对于 Tableau 图形,它位于画布标签内。我想单击图表中的一些元素(动态),但找不到元素的定位器。我知道坐标有效,但在这种情况下它是不实用的,因为元素位置不固定。有什么方法可以找到元素的定位器或任何其他方法可以自动点击表格或画布内的元素?

【问题讨论】:

可以分享相关的html代码吗?没有那个,你已经尝试过提供答案是相当困难的。 例如在这个网站:public.tableau.com/app/profile/tableau.for.sales.analytics/viz/…。我想得到这个标签内的条形图定位器 . 【参考方案1】:

首先,我看到它在 iframe 中。当存在 iframe 并且您想与其中的元素进行交互时,您需要选择该 iframe。 因此,请确保使用以下命令选择 iframe: Select Frame

在这种情况下,要选择画布,请尝试查看上层。这是您发送的画面示例中随机画布的 xpath:

(//div[@id='view6637812712846354816_280773651190758291']//div//div)[2]//canvas

【讨论】:

我的问题是我想在画布中定位元素。例如在这个网站上,我想要条形图中特定条形的定位器。我怎样才能得到他们的定位器?

以上是关于如何在画布内定位元素以进行机器人框架自动化测试?的主要内容,如果未能解决你的问题,请参考以下文章

机器人框架 > 元素定位器没有匹配任何元素

如何在 Robot Framework 中比较两个图像

selenium webdriver 实现Canvas画布自动化测试

(selenium+python)_UI自动化04_定位iframe框架内元素

Python3-Selenium自动化测试框架之css元素定位

selenium自动化测试入门 定位frame和iframe中的元素对象