Python Selenium无法找到迭代跨度类的文本



无法打印"span text"。

预期输出

Hello-World
Foo-Bar

给定HTML代码段:

<div class="information-container">
<ul>
<li class="info-item">
<span class="info-text">
Hello-World
</span>
</li>
</ul>
<ul>
<li class="info-item">
<span class="info-text">
Foo-Bar
</span>
</li>
</ul>
</div>

我的解析代码(方法1(:

page = self.browser.find_element_by_class_name("information-container")
for elem in page.find_elements_by_xpath('.//span[@class = "info-text"]'):
print("E>", elem.text)
attrs = self.browser.execute_script('var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;', elem)
pprint(attrs)

输出(方法1(:

E>
{'class': 'info-text'}
E>
{'class': 'info-text'}

我的解析代码(方法2(:

page = self.browser.find_element_by_class_name("information-container")
li_objs = page.find_elements_by_class_name('info-text')
for o in li_objs:
print("text:", o.text)

输出(方法2(:

text:
text:

可以使用以下显示页面上所有span标签的文本

from selenium import webdriver
driver = webdriver.Firefox(executable_path = 'path_to_driver')
driver.get('path_to_site')
elements = driver.find_elements_by_tag_name('span')
for element in elements:
text = element.text
print(text)

最新更新