我需要通过点击dropdown
中的“C”进行选择,然后转到C
元素。
它的类更改为x-combo-list-item x-combo-selected
,当我在代码中使用此代码单击元素
drivefindElement(By.className("x-combo-list-item x-combo-selected")).click();
它抛出异常
org.openqa.selenium.IllegalLocatorException: Compound class names are not supported.
Consider searching for one class name and filtering the results.
你能帮助我找到点击这个元素的方法吗?
来自Firebug的html代码..
<--div id="xyz" class="x-combo-list-inner" style="width: 253px; height: 105px;">
<--div class="x-combo-list-item" ext:qtip="">A<--/div>
<--div class="x-combo-list-item" ext:qtip="">B<--/div>
<--div class="x-combo-list-item x-combo-selected" ext:qtip="">C<--/div>
<--div class="x-combo-list-item" ext:qtip="">D<--/div>
<--div class="x-combo-list-item" ext:qtip="">E<--/div>
<--/div>
答案 0 :(得分:0)
考虑将选择器更改为xpath:
driver.findElement(By.xpath("//div[@class='x-combo-list-item x-combo-selected']")).click();
答案 1 :(得分:0)
您可能会收到此错误,因为您网页上的多个元素的类名为''x-combo-list-item x-combo-selected'。
您还可以通过为firefox安装firepath add并尝试在代码中使用的xpath来验证这一点。
尝试在firepath的帮助下找到您尝试单击的正确WebElement。您甚至可以通过右键单击WebElement并复制xpath,在firebug的帮助下在页面上获取元素的XPath。