我正在尝试使用Python和Selenium从表中提取数据,但是一些列在gif和text之间有混合。当我打印文本元素时,它返回文本以及空格是gif元素在列中。但是,当我打印gif元素时,它会返回表中的所有gif(而不仅仅是列)而没有任何文本字段的空格。任何想法如何从列中提取两种元素类型?感谢。
表示例:
<td class="X">
<div class="default-value">Not Applicable</div>
</td>
和
posts = driver.find_elements_by_class_name("x")
for post in posts:
print(post.text)
文字代码
for element in driver.find_elements_by_tag_name('img'):
print(element.get_attribute("src"))
gif代码
<base href="/">
答案 0 :(得分:2)
首先查找所有td
元素,然后为每个td
决定是否要获取src
元素的文本或img
属性:
posts = driver.find_elements_by_css_selector("td.x")
for post in posts:
images = post.find_elements_by_tag_name("img")
if images:
print(images[0].get_attribute("src"))
else:
print(post.text)