3

HTMLは次のとおりです。

<li>
<input type="checkbox" checked="" name="selectedMstrPrivGroupList[9].mstrAuthorities[0].status"/>
Add Dexter
</li>

WebDriver でこの要素をクリックするにはどうすればよいですか? チェックボックスです。また、ページに 30 以上のチェック ボックスがあるため、XPath を使用したいと考えています。ジェネリック メソッドを作成し、WebElement のみを渡すことができるようにします。以下を試しましたが、うまくいきませんでした。

Driver.findElement(By.xpath("//input[contains(.,'Add Dexter')]")).click();
4

4 に答える 4

6

[デクスターを追加]の横のチェックボックスがページをクリックする場合は、次を使用できます。

Driver.findElement(By.xpath("//li[contains(.,'Add Dexter')]//input[@type='checkbox']")).click();
于 2012-09-11T09:57:19.610 に答える
1

以下のように、xpath を使用して要素をクリックできます。

driver.findElement(By.xpath("//input[text()='Add Dexter']")).click();

以下のように、xpath の代わりに cssSelector を使用して、その要素をクリックすることもできます。

driver.findElement(By.cssSelector("input:contains(^Add Dexter$)")).click();

注: CssPath/CssSelector は xpath より高速です。そのため、ほとんどの場合、xpath よりも cssSelector を使用することをお勧めします。

于 2012-09-12T11:19:12.540 に答える
1

これは何ですか:

  Driver.findElement(By.xpath("//input[@name='selectedMstrPrivGroupList[9].mstrAuthorities[0].status']")).click();
于 2012-09-11T09:36:46.907 に答える
1

このように使えますが、 driver.findElement(By.xpath("//li[contains(text(),'Add Dexter')]")).click()

于 2012-09-12T08:54:48.447 に答える