我想使用Katalon单击容器中的每个按钮。
这些网页的设置大致类似于以下内容,其中每个按钮的类结构相同,文本可能有所不同,并且它们的URL不同。
<div class="container">
<div class="button">
<a href="page1.html" class="description" role="button">
Page 1
</a>
</div>
<div class="button">
<a href="page2.html" class="description" role="button">
Page 2
</a>
</div>
<div class="button">
<a href="page3.html" class="description" role="button">
Page 3
</a>
</div>
</div>
我希望能够通过单击一个按钮,返回到上一页,然后单击下一个按钮来单击每个按钮来访问其链接。
我也希望它可以扩展,因为页面上的按钮数量不一定总是相同。
在Katalon Studio中,我有以下脚本计算页面上的按钮数量。
WebUI.openBrowser('')
WebUI.navigateToUrl('http://button-container.com')
def buttonObject = findTestObject('Object Repository/Page_Buttons - div_button')
def buttonElements = WebUI.findWebElements(buttonObject, 5)
def numberOfButtons = buttonElements.size()
我想遍历并单击每个buttonElements
,但看起来Katalon不允许单击“远程Web元素”。我希望我可以只使用单个测试对象,因为它们基本相同。
单击容器中每个按钮的最佳方法是什么?可能吗?
我放弃使用Katalon。 Katalon并不是真正为我要完成的任务而构建。
对于任何想知道的人,我都成功地使用Python和Selenium来操纵XPATH字符串以遍历元素。
看起来像
for i in range(1, number_of_buttons + 1):
button_xpath = '/html/body/div[1]/div[{}]/a'.format(i)
button = driver.find_element_by_xpath(button_xpath)
action.move_to_element(button)
button.click()