0

dropdown当我移到C元素 时,我需要通过单击“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.

你能帮我找到点击这个元素的方法吗?

html 代码 .. 来自 Firebug

<--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>
4

2 回答 2

0

您可能会收到此错误,因为您的网页上有多个元素具有 class name = 'x-combo-list-item x-combo-selected' 。

您还可以通过为 firefox 安装firepath插件并尝试您在代码中使用的 xpath 来验证这一点。

尝试在 firepath 的帮助下找到您尝试单击的正确 WebElement。您甚至可以在 firebug 的帮助下通过右键单击 WebElement 并复制 xpath 来获取页面上元素的 XPath。

于 2012-07-25T15:05:44.527 回答
0

考虑将选择器更改为 xpath:

driver.findElement(By.xpath("//div[@class='x-combo-list-item x-combo-selected']")).click();
于 2012-07-25T14:42:50.193 回答