I have the following situation
values = driver.find_elements(By.CLASS_NAME, "roulette-history-item__value-textsiwxWvFlm3ohr_UMS23f")
I get list with 260 keys, So far, okay! However, I need this simplified list, with just the text
values = driver.find_elements(By.CLASS_NAME, "roulette-history-item__value-textsiwxWvFlm3ohr_UMS23f").get_attribute("innerHTML")
Is there any possibility to get something like this above? With find_element it works fine. find_elementS not work.
A loop with values[x].text is too slow. I tested it with a simple array, without the ".text" and it's 1000x faster.
CodePudding user response:
Try:
values = driver.find_elements(By.CLASS_NAME, "roulette-history-item__value-textsiwxWvFlm3ohr_UMS23f")
for value in values:
v = value.get_attribute("innerHTML")
CodePudding user response:
To extract the innerHTML or the texts from all the matching elements you can use list comprehension and you can use either of the following locator strategies:
Using
get_attribute("innerHTML")
:print([my_elem.get_attribute("innerHTML") for my_elem in driver.find_elements(By.CLASS_NAME, "roulette-history-item__value-textsiwxWvFlm3ohr_UMS23f")])
Using text:
print([my_elem.text for my_elem in driver.find_elements(By.CLASS_NAME, "roulette-history-item__value-textsiwxWvFlm3ohr_UMS23f")])