当我试图在类名下面找到这个div时,我无法找到,
<div class="large 20 columns">..</div>
我尝试dr.findElement(By.cssSelector("div.large.20.columns']"));
但无法找到。
请告诉我,有没有办法使用CSS Selector找到带有空格的类名。
答案 0 :(得分:2)
这里的问题是&#34; 20&#34; class期望你使用像.20
这样的类选择器,它不是一个有效的选择器,因为CSS idents不能以数字开头。
这应该有效:
dr.findElement(By.cssSelector("div.large.\\20.columns"));
由于某种原因,您的选择器字符串末尾也有']
。这是尝试使用属性选择器的剩余部分吗?如果是这样,你也应该能够摆脱这种情况,但前提是确保页面具有正确顺序的类名:
dr.findElement(By.cssSelector("div[class='large 20 columns']"));
答案 1 :(得分:1)
一般来说,依赖面向布局的类名如large
并不是一个好主意。我会用:
div.columns
如果这还不足以唯一地标识元素,我还会检查其他属性,特定父元素,子元素或相邻元素。
答案 2 :(得分:0)