I am using Selenium's python library to scrape data from a html page in Firefox.
I have had to update from Selenium 2.0 to 2.21 because the server has updated Firefox.
In v 2.21 calls to find_element_by_class_name("grid-cell-inner grid-col-name")
fails with:
selenium.common.exceptions.WebDriverException: Message: u'Compound class names not permitted'
The class name of the element I am trying to access is grid-cell-inner grid-col-name
The call to find_element_by_class_name()
worked in v 2.2, so the logic is correct, and the data used to be found OK. Something changed in v 2.21.
All the Selenium examples give simple examples with class name foo
etc, and none with the type of name I need to access.
Why did Selenium stop supporting finding classes with names like grid-cell inner grid-col-name
, and what it their solution?
Can someone please help me to find elements with "compound" class names?
Selenium hasn't supported compound class names for a very long time I thought.
Needless to say, try via XPath or CSS selector or by the class name of "grid-cell-inner" then filtering to see what elements have the class of "grid-cell-inner grid-col-name".