【问题标题】:search for a button inside an accordion with part of its text, Robot Framework在手风琴中搜索带有部分文本 Robot Framework 的按钮
【发布时间】:2022-11-25 21:49:21
【问题描述】:

几周以来我一直在学习机器人框架,在用真实案例制作机器人时我遇到了下一个情况:

我有一个公司 ID 的值,有了它,我需要在网站上的手风琴内部找到带有该信息的按钮,手风琴按钮列表是完全可变的,可以有一个或多个项目

对于上下文,网站的一部分是这样的:

<div class="accordion ui fluid"><div class="item" style="background-color: white; margin: 1rem 0px; border-radius: 10px;"><div class="title accordion-title"><i aria-hidden="true" class="dropdown icon"></i>Accordion 1</div><div class="content" style="padding: 1rem; background-color: rgb(238, 238, 238);"><div class="persona-btns"><div><button class="ui primary button">Accordion1 op1</button><button class="ui primary button">Accordion1 op2</button></div></div></div></div><div class="item" style="background-color: white; margin: 1rem 0px; border-radius: 10px;"><div class="active title accordion-title"><i aria-hidden="true" class="dropdown icon"></i>Accordion2</div><div class="content active" style="padding: 1rem; background-color: rgb(238, 238, 238);"><div><button class="ui basic button" style="padding: 0px; box-shadow: 0px 0px 0px 0px; margin: 0px; text-align: inherit;">*id number of a company* *variable text(name of a company)*</button></div></div></div></div>

我试过

Click Button    //button[.//text()=*id value*]

但在那种情况下,没有找到任何东西,只是出现了一个错误

另一个选项是使用带有按钮容器的 Get WebElements 关键字,它列出了网络元素,但没有直接的方法使其与文本值匹配:

[<selenium.webdriver.remote.webelement.WebElement (session="3932a0dd61c3018f5ede7ca31ea475b1", element="59b4ad4d-3410-4e95-b1e5-3d02e07d1894")>]

所以我需要找到一种方法让框架识别带有文本的元素,或者在 WebElements 选项中,获取 html 的文本并获取数据以使其可以使用 Click Button 关键字点击

【问题讨论】:

    标签: selenium xpath robotframework


    【解决方案1】:

    看起来 id value 不是该按钮内任何文本节点的确切文本内容值。
    所以,请试试这个 XPath 表达式,而不是这个 //button[.//text()=*id value*]

    //button[contains(.,'*id value*')]
    

    所以,整个命令行将是

    Click Button    //button[contains(.,'*id value*')]
    
    

    【讨论】:

      【解决方案2】:

      它完美地工作,为我节省了很多时间

      【讨论】:

      • 这不是答案,请删除它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      相关资源
      最近更新 更多