2

我尝试使用 ChromeDriver 访问一个元素SelectElementByClassName

driver.FindElementByClassName("ou selected");

元素的类是:ou selected但我不能使用这个方法,因为我得到了:

Compound class name not permitted exception

我不可能选择所有这些课程吗?
有没有可能的解决方法?


即使选择了 CSS,我也会收到另一个错误,上面写着“没有这样的元素”。
元素存在:

在此处输入图像描述

它需要几毫秒才能加载,但我仍然添加了一个超时以确保它正确加载。不过,我得到了同样的错误。这是代码:

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));
driver.FindElementByCssSelector(".ou.selected").SendKeys(OpenQA.Selenium.Keys.Enter);
4

1 回答 1

5

使用FindElementByCssSelector, 不在FindElementByClassName这种情况下。正如它所说,ByClassName 不支持复合类。这就是为什么您使用 CSS 选择器来匹配您想要的类的原因。

driver.FindElementByCssSelector(".ou.selected")

编辑

看起来您要选择链接?如果是这样,那么你需要 -

driver.FindElementByCssSelector("span.ou.selected > a")
于 2013-10-17T14:29:38.463 回答