Tried several methods but this Value Error keeps popping up running with the WebDriver

Tags: , , , ,

Below is the part where my code program meets a runtime ValueError.

while real_original_amount > 1:
    future_amount_float = float(future_amount.text)
    betting_count = ()

As I’m using selenium as part of the program, im taking webelements into a variable then convert the variable to a float number as it is on the website. Below is the error:

Traceback (most recent call last):
File "C:UsersUserPycharmProjectsSelenium", line 74, in <module>
    future_amount_float = float(future_amount.text)
ValueError: could not convert string to float: ''

Tried several different methods to solve this ValueError but all didn’t really worked out.


This error message…

ValueError: could not convert string to float: ''

…implies that the variable ' ' cannot be converted to float as it is a blank.


Possibly the textContext wasn’t rendered when the line of code was executed. So to locate the element you need to induce WebDriverWait for the visibility_of_element_located() and you can use the following Locator Strategy:

  • Using XPATH:

    future_amount = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//[@id="app"]/div[1]/div[2]/div[1]/div/div[3]/div[2]/div[3]/div/div/span/span")))
    future_amount_float = float(future_amount.text)
  • Note : You have to add the following imports :

    from import WebDriverWait
    from import By
    from import expected_conditions as EC

Source: stackoverflow