简体   繁体   中英

Selenium and Python to find elements and text?

When I go to a certain webpage I am trying to find a certain element and piece of text:

<span class="Bold Orange Large">0</span>

This didn't work: (It gave an error of compound class names...)

elem = browser.find_elements_by_class_name("Bold Orange Large")

So I tried this: (but I'm not sure it worked because I don't really understand the right way to do css selectors in selenium...)

elem = browser.find_elements_by_css_selector("span[class='Bold Orange Large']")

Once I find the span element, I want to find the number that is inside (the content) .

num = elem.(what to put here??)

Any help with CSS selectors, class names, and finding element text would be great!

Thanks.

Oh! and my other problem is that there are multiple of those exact span elements but with different numbers inside. How can I deal with that?

you want: elem.text to get "the number that is inside".

explanation:

in your example, elem is an instance of webdriver's WebElement class (from selenium.webdriver.remote.webelement )

a WebElement instance has several properties, including:

  • tag_name
  • text
  • size
  • location
  • parent
  • id

.text property contains "the content"


"and my other problem is that there are multiple of those exact span elements ..how can I deal with that?"

please don't ask several questions in one.. it doesn't work well with SO's format.

but basically, use the find_elements_* instead of find_element_* . your locator can then return a list of matching WebElement instances instead of a single matching instance... which you can filter further.

The problem is actually with the class name as the spaces causes the element to have 3 different classes (separated by the space)

If you set the class to Bold-Orange-Large instead it should work as expected with the elem.text method.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM