Select 无法从Katalon studio的下拉列表中选择选项
我是卡塔隆工作室的新手,我面临着一个关于下拉列表选择的问题。 详情如下: 这是HTML: 我已尝试将selectByIndex与对象xpath一起使用,如下所示:Select 无法从Katalon studio的下拉列表中选择选项,select,katalon-studio,Select,Katalon Studio,我是卡塔隆工作室的新手,我面临着一个关于下拉列表选择的问题。 详情如下: 这是HTML: 我已尝试将selectByIndex与对象xpath一起使用,如下所示: //div[@class='paCriteriaContainer']//select[@class='pa-criteria-select-select-initialized'] 它未选择任何选项,并失败,错误为“无法通过对象的索引“2”选择选项” 注: 我试着点击输入,然后选择选项,但这似乎也不起作用 按标签和值选择也不起作用
//div[@class='paCriteriaContainer']//select[@class='pa-criteria-select-select-initialized']
它未选择任何选项,并失败,错误为“无法通过对象的索引“2”选择选项”
注:
谢谢尝试捕获对象,然后使用以下方法:
WebUI.click(findTestObject(Your captured object))
WebUI.selectOptionByValue(findTestObject(Your captured object), 'TEST (2020)', false)
你是否按照我描述的那样做了,但它不起作用
我试着点击输入,然后选择选项,但这似乎也不起作用
在这种情况下,是否确实单击了正确的元素
请尝试以下操作:以编程方式创建元素并按值选择(注意,值不是包含的文本,而是value
html属性):
您可以选择这样做,我建议您始终使用xpath来访问您想要使用的所有元素。这是因为对象报告通常会失败,在我看来,这种方式要复杂得多。 但是很明显,如果web改变了xpath,那么请小心
The imports you need:
import static org.junit.Assert.*
import org.openqa.selenium.By
import org.openqa.selenium.Keys
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
def driver = DriverFactory.getWebDriver()
//If you want to click your input would be:
WebUI.click(WebUI.convertWebElementToTestObject(driver.findElement(By.xpath("(//input[@id='a-select-paCricteriaId_6908'])"))))
//**you just can click on "TestObject" type, and findElement returns "Element" type**
如果你想选择这个选项,你需要知道整个路径(我不能用给定的信息得到它)
测试xpath的一个重要技巧是在控制台模式(F12)下使用此函数:
此外,还有其他方法可以通过xpath实现相同的目标,例如:
import com.kms.katalon.core.testobject.TestObject as TestObject
...
TestObject tobj = new TestObject('myTestObject')
String expr = '/some/valid/xpath/expression'
tobj.addProperty('xpath', ConditionType.EQUALS, expr)
WebUI.click(tobj)
如果你在谷歌上搜索“如何通过xpath katalon获取元素”,你会得到很多信息
在这里您可以获得有关它的官方信息:
在浏览器控制台中进行测试
$x('//*[contains(@class, "pa-criteria-select a-select initialized")]')
如果出现多个结果,那么您可以像这样访问它
$x('(//*[contains(@class, "pa-criteria-select a-select initialized")])[1]')
然后你也可以访问他们的孩子
$x('(//*[contains(@class, "pa-criteria-select a-select initialized")])[1]/option')
你能发布你到底在用什么以及错误信息吗?
$x('(//*[contains(@class, "pa-criteria-select a-select initialized")])[1]')
$x('(//*[contains(@class, "pa-criteria-select a-select initialized")])[1]/option')