我正在尝试使用selenium webdriver单击一个按钮。使用以下XPath正常工作
driver.FindElement(By.XPath("html/body/div[36]/div[3]/div/button[1]")).click();
它点击按钮很好但如果我尝试使用类找到它然后它不会点击它
driver.FindElement(By.XPath("//div[@class='ui-dialog-buttonset']/button[1]")).click();
任何想法我做错了什么。实际源代码如下: -
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
::before
<div class="ui-dialog-buttonset">
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" type="button" role="button" aria-disabled="false">
<span class="ui-button-text"></span>
</button>
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" type="button" role="button" aria-disabled="false">
<span class="ui-button-text"></span>
</button>
</div>
::after
</div>
</div>
答案 0 :(得分:0)
我看到两个具有相同类名的按钮。你可以试试这个:
List<WebElement> list = driver.findElements(By.cssSelector("button[class=\"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only\"]"));
//click on the first button
list.get(0).click();
答案 1 :(得分:0)
你可以尝试使用css选择器的包含运算符“*”。
List<WebElement> mylist = driver.findElements(By.cssSelector("button[class*='ui-corner-all']"));
mylist[0].click();
您可以使用c#
访问Selenium中CSS Selector教程的此链接http://binaryclips.com/2015/02/16/css-selectors-for-selenium-webdriver/