在 uipath studio 中指示时出现无效 ui 节点错误
Invalid ui node error when indicating in uipath studio
这两天开始用uipath了。我正在阅读 excel sheet 并加载到网页,进展顺利。
我卡在了以下场景中。我有一个用于输入日期的 bs-datepicker。我已经能够从 sheet 中的数据中获取日期,将日、月和年部分分开。我已经自动选择了月份和年份,我没有任何问题。
天就是问题所在。控件如下所示,
关于在 chrome 上使用检查工具,我在 5 月 29 日看到了这个,
<td role="gridcell" class="ng-star-inserted" style=""><span bsdatepickerdaydecorator="" class="">29</span></td>
我看到了 4 月 29 日的以下信息,
<td role="gridcell" class="ng-star-inserted"><span bsdatepickerdaydecorator="" class="is-other-month">29</span></td>
如您所见,两者之间的一个区别是跨度 class 是 5 月 29 日的空字符串,我猜这是我尝试在屏幕上指示 5 月 29 日时遇到的错误,
事实上,我在尝试指示活动月份的所有元素时遇到了同样的错误,在这种情况下是五月,但在指示最后一个月即四月时没有错误。
关于如何解决这个问题的任何提示?
谢谢
您可以尝试在抓取选择器时在 UiFrameworks 之间切换:
Switching between Ui Frameworks
它很有可能与“Active Accessibility”一起工作,因为它适用于遗留应用程序或不响应默认框架的应用程序。在所有 3 个之间切换以确保。
如果这不起作用,您可以尝试通过导航到可视化树并手动遍历所有节点直到找到您的元素来获取选择器。
您应该使用动态选择器,因为当您更改月份时选择器似乎会发生变化。
https://docs.uipath.com/studio/docs/dynamic-selectors
或者另一种选择,您可以使用“点击文本”activity点击您需要的月份数。
也许您可以将 uipath studio 中的节点选择器从 class='is-other-month' 更改为 class='*'
谢谢大家的回答。我最终做的是使用带有 未找到选择器异常的 try catch。
所以下面会落在试试,
<html app='chrome.exe' title='Add Employee | *' />
<webctrl aaname='{{FromDay}}' tag='SPAN' class='' parentclass='ng-star-inserted' />
并且在 Catch,
<html app='chrome.exe' title='Add Employee | *' />
<webctrl aaname='{{FromDay}}' tag='SPAN' />
这两天开始用uipath了。我正在阅读 excel sheet 并加载到网页,进展顺利。
我卡在了以下场景中。我有一个用于输入日期的 bs-datepicker。我已经能够从 sheet 中的数据中获取日期,将日、月和年部分分开。我已经自动选择了月份和年份,我没有任何问题。
天就是问题所在。控件如下所示,
关于在 chrome 上使用检查工具,我在 5 月 29 日看到了这个,
<td role="gridcell" class="ng-star-inserted" style=""><span bsdatepickerdaydecorator="" class="">29</span></td>
我看到了 4 月 29 日的以下信息,
<td role="gridcell" class="ng-star-inserted"><span bsdatepickerdaydecorator="" class="is-other-month">29</span></td>
如您所见,两者之间的一个区别是跨度 class 是 5 月 29 日的空字符串,我猜这是我尝试在屏幕上指示 5 月 29 日时遇到的错误,
事实上,我在尝试指示活动月份的所有元素时遇到了同样的错误,在这种情况下是五月,但在指示最后一个月即四月时没有错误。
关于如何解决这个问题的任何提示?
谢谢
您可以尝试在抓取选择器时在 UiFrameworks 之间切换:
Switching between Ui Frameworks
它很有可能与“Active Accessibility”一起工作,因为它适用于遗留应用程序或不响应默认框架的应用程序。在所有 3 个之间切换以确保。
如果这不起作用,您可以尝试通过导航到可视化树并手动遍历所有节点直到找到您的元素来获取选择器。
您应该使用动态选择器,因为当您更改月份时选择器似乎会发生变化。 https://docs.uipath.com/studio/docs/dynamic-selectors
或者另一种选择,您可以使用“点击文本”activity点击您需要的月份数。
也许您可以将 uipath studio 中的节点选择器从 class='is-other-month' 更改为 class='*'
谢谢大家的回答。我最终做的是使用带有 未找到选择器异常的 try catch。
所以下面会落在试试,
<html app='chrome.exe' title='Add Employee | *' />
<webctrl aaname='{{FromDay}}' tag='SPAN' class='' parentclass='ng-star-inserted' />
并且在 Catch,
<html app='chrome.exe' title='Add Employee | *' />
<webctrl aaname='{{FromDay}}' tag='SPAN' />