作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 SelectElementByClassName
通过 ChromeDriver 访问元素。
driver.FindElementByClassName("ou selected");
元素的类是:ou selected
但我不能使用这个方法,因为我得到了:
Compound class name not permitted exception
我不可能选择所有这些类(class)吗?
是否有可能的解决方法?
即使选择了 CSS,我仍然收到另一个错误,提示“没有这样的元素”。
元素存在:
它需要几毫秒才能加载,但我仍然添加了一个超时以确保它正确加载。尽管如此,我还是遇到了同样的错误。这是代码:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));
driver.FindElementByCssSelector(".ou.selected").SendKeys(OpenQA.Selenium.Keys.Enter);
最佳答案
在这种情况下使用FindElementByCssSelector
,而不是FindElementByClassName
。正如它所说,ByClassName 不支持复合类。这就是您使用 CSS 选择器来匹配所需类的原因。
driver.FindElementByCssSelector(".ou.selected")
您似乎要选择链接?如果是这样,那么您需要 -
driver.FindElementByCssSelector("span.ou.selected > a")
关于c# - ChromeDriver 选择多词类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429413/
我是一名优秀的程序员,十分优秀!