【问题标题】:How to select an option from a list (not in dropdown) in Selenium Java如何从 Selenium Java 中的列表(不在下拉列表中)中选择一个选项
【发布时间】:2022-01-22 12:07:06
【问题描述】:

我正在尝试选择一个选项(不是从下拉列表中),然后单击按钮。问题是我找不到任何类名、id 或名称或任何选择器来找到该元素。

我尝试了"By.className="device pcclient selected",但出现错误“不允许使用复合类名”。 如何从 R1、R2、R3 中选择一个选项,然后单击按钮。

【问题讨论】:

  • 虽然下面的答案可能会解决错误compound class names not permitted,但如果HTML以文本格式共享,我们很容易制作UI的副本。同样在选择R1, R2, R3要单击的按钮之后。

标签: java list selenium click


【解决方案1】:

当类名中有空格并且您尝试使用 className method 查找该元素时,您会收到错误“不允许复合类名”。有关错误的更多信息,您可以参考此link

你可以尝试通过xpath找到想要的元素并点击如下图:

//Clicking R1
driver.findElement(By.xpath("//li[@class='device pcclient']/a[contains(text(),'R1')]").click();

//Clicking R2
driver.findElement(By.xpath("//li[@class='device pcclient']/a[contains(text(),'R2')]").click();

//Clicking R3
driver.findElement(By.xpath("//li[@class='device pcclient']/a[contains(text(),'R3')]").click();

【讨论】:

  • 非常感谢@Gurmanjot。它解决了这个问题,你分享的链接也很有帮助,因为我刚开始用 Java 学习 Selenium。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 2022-12-15
  • 1970-01-01
  • 2017-01-11
相关资源
最近更新 更多