在By.className
可用的情况下,无法使用classNam
点击保存按钮
可用按钮的网页代码
<div class="popupFooter">
<div align="center">
<input id="Preview-btn" class="btn-primary previewDetaile" type="button" value="Preview">
<input class="btn-primary validateProfile" type="button" value="Save">
<input id="clear" class="btn-primary" type="button" value="Cancel">
</div></div>
Selenium Code
driver.findElement(By.className("btn-primary validateProfile")).click();
问题: 无法单击“保存”按钮
答案 0 :(得分:5)
您的问题是您搜索的多个类名不适用于By.className
。试试吧
driver.findElement(By.className("validateProfile")).click();
代替。要按多个类名选择元素,您可以找到解决方案here。
答案 1 :(得分:2)
使用CSS选择器非常容易:
driver.findElement(
By.cssSelector(".btn-primary.validateProfile")
).click();
如需完整参考:
http://www.w3schools.com/cssref/css_selectors.asp
正如@Sebastian指出的那样,这可能是因为By.className
只接受一个类名(我认为它们并非偶然地命名为By.classNames
:))