当我转到某个网页时,我正在尝试查找某个元素和一段文本:
<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元素,但内部有不同的数字。我该如何处理?
您想要: elem.text 获得“里面的数字”。
elem.text
说明:
在您的示例中,elem是webdriver WebElement类的实例(来自selenium.webdriver.remote.webelement)
elem
WebElement
WebElement实例具有多个属性,包括:
tag_name
text
size
location
parent
id
.text 属性包含“内容”
.text
“而且我的另一个问题是,这些确切的跨度元素有多个。我该如何处理?”
请不要一口气问几个问题..它不适用于SO的格式。
但基本上,使用find_elements_*代替find_element_*。然后,您的定位器可以返回匹配WebElement实例的列表,而不是单个匹配实例的列表……您可以对其进行进一步过滤。
find_elements_*
find_element_*