当我访问某个网页时,我试图找到某个元素和文本:
<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??)
<>太好了!谢谢。
哦!我的另一个问题是,有许多精确的跨度元素,但里面有不同的数字。我该怎么办?
你想:
elem.text
得到“里面的号码”。说明:
在您的示例中,
elem
是webdriver的WebElement
类的实例(来自selenium.webdriver.remote.webelement)WebElement实例有几个属性,包括:
tag_name
text
size
location
parent
id
.text
属性包含“内容”请不要一次问几个问题。。它不能很好地与SO的格式一起工作。
但基本上,使用
find_elements_*
而不是find_element_*
。然后,定位器可以返回匹配的WebElement
实例列表,而不是单个匹配实例。。。你可以进一步过滤。问题实际上是类名,因为空格导致元素有3个不同的类(由空格分隔)
如果将类设置为
Bold-Orange-Large
,则它应该与elem.text
方法一起正常工作。相关问题 更多 >
编程相关推荐