Python selenium - 从 p 和 span 获取值

标签 python selenium-chromedriver

假设我有这样的代码:

<div class="div1">
            <div class="div2">
            <div class="div3">X:  <span class="SpanX">ValueX</span></div>
            <p class="p_class">A: <span class="SpanA"> ValueA </span> </p>
            <p class="p_class_2">B: <span class="SpanB">ValueB</span></p>
            <p class="p_class">C: <span class="SpanA">ValueC</span></p>
            </div>
</div>      

我想要一本像 {X:ValueX, A:ValueA, B:ValueB, C:ValueC}

的字典

我尝试获取 driver.find_elements_by_xpath('//div[@class = "div1") 但下一步是什么?

如何更深入地了解结构?如何检索 p 中嵌套的 span 值?

最佳答案

在 XML 代码中,我看到第一个文本对位于 <div class="div3"> 内而所有其他文本对都在 <p> 内元素。因此,这里的共同点是所有这些元素都是 <div class="div2"> 的直接子元素。元素。
现在您可以获取直接子元素和内部 span 的文本值元素。
您可以获取“键”值列表、“值”值列表,然后将它们压缩到字典中,如下所示:

keys = []
values = []
elements = driver.find_elements_by_xpath("//div[@class='div2']/*")
for element in elements:
    entire_text = element.text
    key = entire_text.split(" ")[0]
    keys.append(key)
elements = driver.find_elements_by_xpath("//div[@class='div2']/*/span")
for element in elements:
    value = element.text
    values.append(value)
dictionary = dict(zip(keys, values))
print(dictionary) #{X:ValueX, A:ValueA, B:ValueB, C:ValueC}

关于Python selenium - 从 p 和 span 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69290354/

相关文章:

python - pip "pyrax"与钢铁 worker 的依赖关系

python - 为什么在尝试通过 pymongo 查询我的 mongodb 数据库时得到 pymongo.cursor.Cursor?

selenium - 如何使用 selenium java 单击 ng-click 按钮

angular - 元素点击拦截 Selenium 中的错误

java - 单击事件在浏览器中直接运行脚本时有效,但在弹出窗口中访问相同的 UI 时无效

Python3,无法使用chromedriver设置socks代理(socks.py类型整数错误)

python - 使用 Python 层时,Caffe blob 中的 `num` 和 `count` 参数有什么区别?

python - “pip install pymongo”停止工作

python - Python中的数据分布

python - 在 selenium 下运行时如何减少 chromedriver 日志的冗长?