几周前我就开始学习机器人框架了,在制作机器人时,我遇到了下一个问题:
我有一个公司ID的值,通过它,我需要定位网站上 accordion 内部的按钮信息, accordion 按钮列表是完全可变的,可以有一个或多个项目
对于上下文,站点的部分如下:
<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*]
但在这种情况下,什么也找不到,只会出现错误
另一个选项是使用GetWebElements关键字,它带有按钮容器,列出了Webelements,但没有直接的方法使其与文本值匹配:
[<selenium.webdriver.remote.webelement.WebElement (session="3932a0dd61c3018f5ede7ca31ea475b1", element="59b4ad4d-3410-4e95-b1e5-3d02e07d1894")>]
因此我需要找到一种方法,使框架使用文本来标识元素,或者在WebElements选项中,获取html的文本并获取数据,以便使用ClickButton关键字使其可单击
1条答案
按热度按时间plicqrtu1#
看起来
id value
不是该按钮内任何文本节点的确切文本内容值。因此,请尝试以下XPath表达式,而不是
//button[.//text()=*id value*]
因此,整个命令行将