I am trying to scrape the text ("9/10") in the span contained in <span class"_1JRNOw">
. I had thought the code below would do it but I get a Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[@class='_1JRNOw']"}
error.
driver.find_element_by_xpath("//span[@class='_1JRNOw']").text
Can anyone see what I've done wrong?
CodePudding user response:
If Glad text is going to remain same
, not changing dynamically (Assumption).
You could create an xpath based on Glad that could fetch you 9/10
.
xpath //span[text()='Glad']//following-sibling::span/span
and try it like this :
driver.find_element_by_xpath("//span[text()='Glad']//following-sibling::span/span").text
you could put some wait, or Explicit waits to have more stable automation script.
Update :
Use this xpath
(//div[@data-kib-type='oauth']//descendant::span)[1]
But you'd have to change the [1] to something else, may be [3]
or [4]
. Please do that in chrome dev tools.
PS : Please check in the dev tools
(Google chrome) if we have unique entry in HTML DOM
or not.
Steps to check:
Press F12 in Chrome
-> go to element
section -> do a CTRL F
-> then paste the xpath
and see, if your desired element
is getting highlighted with 1/1
matching node.
CodePudding user response:
Try this one see if it works for you:
ele = driver.find_element_by_xpath("//*[@class='_1JRNOw']/span")
print("Text is: " ele.text)