【问题标题】:How to select 'mat-checkbox' in selenium webdriver?如何在 selenium webdriver 中选择“mat-checkbox”?
【发布时间】:2018-01-12 13:18:55
【问题描述】:

我有 4 个复选框,需要选中该复选框。代码是用 Angular 编写的,我使用 selenium 进行自动化。

请找到代码。

我需要选中“Main st & 19th St”复选框。

enter image description here

【问题讨论】:

  • 您的复选框不是本机复选框,因此我们不知道单击哪个元素会触发选择该复选框。在截图中,有4个元素:mat-checkbox、label、div、span,你需要找出哪个元素是触发器并告诉我们。如何查找:在Chrome DevTool Element Tab中每次选择一个元素,然后切换到Console Tab执行$0.click(),然后观察checkbox是否被选中。
  • @Raa 如果您使用的是 Chrome。 右键单击并检查元素,现在检查后,在突出显示的代码上,右键单击 -> 复制 -> XPath,这将为您提供 XPath 值。尝试使用它。点击使用click()或使用jsexecutor

标签: java selenium selenium-webdriver automated-tests


【解决方案1】:

请尝试以下代码。

driver.findElement(By.xpath("//*[@class='mat-checkbox-label'][text()='Main st & 19th St']")).click();

driver.findElement(By.xpath("//*[@id='mat-checkbox-1']/label")).click();

【讨论】:

  • 您可以尝试单击任何 mat 复选框布局标签或标签内的 span 元素。它应该可以工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2020-11-10
  • 1970-01-01
  • 2014-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多