一尘不染

Selenium和Python查找元素和文本?

selenium

当我转到某个网页时,我正在尝试查找某个元素和一段文本:

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

这不起作用:( 它给出了复合类名的错误…)

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

所以我尝试了这个:( 但是我不确定它是否有效,因为我不太了解在selenium中使用CSS选择器的正确方法…)

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

找到span元素后,我想找到其中的数字 (内容)

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

CSS选择器,类名和查找元素文本的任何帮助都将非常有用!

谢谢。

哦! 我的另一个问题是,其中有多个确切的span元素,但内部有不同的数字。我该如何处理?


阅读 255

收藏
2020-06-26

共1个答案

一尘不染

您想要: elem.text 获得“里面的数字”。

说明:

在您的示例中,elem是webdriver
WebElement类的实例(来自selenium.webdriver.remote.webelement

WebElement实例具有多个属性,包括:

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

.text 属性包含“内容”


“而且我的另一个问题是,这些确切的跨度元素有多个。我该如何处理?”

请不要一口气问几个问题..它不适用于SO的格式。

但基本上,使用find_elements_*代替find_element_*。然后,您的定位器可以返回匹配WebElement实例的列表,而不是单个匹配实例的列表……您可以对其进行进一步过滤。

2020-06-26