访问 class 名称的 Selenium Webdriver

accessing the class name Selenium Webdriver

我正在尝试访问此示例中的 Web 元素 我正在尝试访问 className

driver.findElement(By.className("更多选项")).click();

来自波纹管但它失败了。

<div class="text-center">
  <a class="small text-muted js-more-options" href="#">More
  Options</a> = [=11=]
</div>

我的目标是能够测试点击更多选项按钮

的能力

编辑

我试过了

driver.findElement(By.cssSelector("td[title='More options']")).click();

driver.findElement(By.partialLinkText("options")).click();

仅针对单个 class 名称使用 By.className 查找元素。

尝试以下方法。

通过 css 选择器:

driver.find_element_by_css_selector('div.text-center a.small.text-muted.js-more-options').click()

driver.find_element_by_css_selector('a[class="small text-muted js-more-options"]').click()

通过 xpath:

driver.find_element_by_xpath('//div[@class="text-center"]//a[@class="small text-muted js-more-options"]').click()

部分 link 文本:

driver.find_element_by_partial_link_text('Options').click()

有很多选项可以点击 element.You 可以使用 contains()。 Contains() 是 XPath 表达式中使用的方法。

driver.findElement(By.XPath("//a[contains(text(),'More Options')]")).Click();

driver.findElement(By.XPath("//a[contains(@class,'small')]")).Click();

如果您获得多个元素,则必须使用索引并单击特定元素。