Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in DevOps and Agile by (19.7k points)

I am getting the following error:

"Compound class names not permitted"

While trying to access web element where-in the element's class name have spaces in between. The page source for the web element is as below.

driver.findElement(By.className("alert alert-success"));

<div class="alert alert-success" alert-dismissable"="" id="58417" style="display: none;">

   <button type="button" class="close hide-panel close-icon-58417" data-dismiss="alert" aria-hidden="true" style="display: inline-block;">×</button><span id="caret-58417" class="notification-caret caret-58417"></span>

   <div class="hide-panel close-icon-58417" id="58417" style="display: block;">

      <span class="glyphicon glyphicon-ok-sign"></span><strong>Success</strong> KeyLinks Updated Successfully

      <div class="notification-panel-body panel-body-58417">REST Invocation Success</div>

   </div>

</div>

I tried to find the element by CSS path as below. But the element is not searchable with this.

driver.findElement(By.cssSelector(".alert alert-success"));

Any one of your's help will be much appreciated.

1 Answer

0 votes
by (62.9k points)

You can access the element if it has multiple classes using "By":

from selenium.webdriver.common.by import By

driver.findElement(By.cssSelector(".alert.alert-success"));

Browse Categories

...