需要帮助来选择一个div

时间:2012-07-25 14:02:41

标签: selenium selenium-webdriver

我需要通过点击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>

2 个答案:

答案 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。