Seleniumを使っていて、InvalidSelectorException エラーが出た場合の対処法
エラーの原因の1つにクラス名にスペースが入っている状態で要素取得しようとする場合に出ます。
例えば、クラス名が"class name"となっている要素の取得をしようと下記のように記述したとします。
driver.findElements(By.className("class name"));
Seleniumでは、クラスやidなどの属性値にスペースが入っているため
このままだとエラーになるので、
少し記述方法を変えてcssSelector要素を指定して、要素が取得できるようになります。
記述形式は
driver.findElement(By.cssSelector("{タグ名
}[{属性名
}='{属性値
}']");
driver.findElement(By.cssSelector("div[class='class name']"));
というように、cssSelectorを使ってタグ名と属性名、属性値を記述すれば要素を取得できます。
以上です。