Question: I try to find an element by class name. Unfortunately the class name I have to select contains double underscores with raises a "no such element" error. 

`div-element` to select:

```
<div class="result-list-entry__data">
...
</div>

```

selection:

```py
last_named_class = result.find_element_by_class_name('result-list-entry__data')

```

Current result(error):

> 
> selenium.common.exceptions.NoSuchElementException: Message: no such
>  element: Unable to locate element: {"method":"css
>  selector","selector":".result-list-entry\_\_data"} (Session info:
>  chrome=77.0.3865.90)
> 
> 
> 

Is it possible to escape the double underscores?

Answer: 
You can use the approach suggested before with two contains:

```
last_named_class = result.find_element_by_xpath("//div[contains(@class, 'result-list') and contains(@class, 'data')]"

```
Try below things,

1. Apply required wait (implicit or explicit wait)

```py
    driver.implicitly_wait(15)

```

```
wait = WebDriverWait(driver, 10)
wait.until(ec.visibility_of_element_located((By.XPATH, "//*[contains(@class,'result-list-entry')]")))

```

2. Check whether element is a child of iframe element. if so, switch to iframe and try to click
3. Use xpath with contains if the element property value changing frequently

```py
    last_named_class = result.find_element_by_xpath("//*[contains(@class,'result-list-entry')]")

```