gpt4 book ai didi

python - 如何在 Xpath 语法中使用索引在 Div 中选择 Div?

转载 作者:行者123 更新时间:2023-12-01 04:58:12 24 4
gpt4 key购买 nike

<div class="j-C j-C-yj" style="max-height: none; -moz-user-select: none; visibility: visible; left: 218px; top: 105px; display: none;" role="menu" aria-haspopup="true">
<div id=":1r" class="j-qn" style="-moz-user-select: none;" role="separator"></div>
<div id=":1u" class="j-qn" style="-moz-user-select: none;" role="separator"></div>
</div>

到目前为止,我正在创建 xpath 来选择 id=":1r"的元素

“(//div[包含(@class,'j-C')和包含(@class,'j-C-yj')]/div)[1])”

我也尝试过

“(//div[包含(@class,'j-C')和包含(@class,'j-C-yj')]/div)[1])”

但没有一个有效,请帮忙!

P.S:我找不到带有 id 的元素,因为页面的 id 是动态创建的

最佳答案

只需使用 xpath('.//div[contains(@class, "j-C") and contains(@class, "j-C-yj")]') 作为另一个答案已经向您展示.

其他更新:

由于OP不断改变问题的约束,这里是完整的解决方案,它完全符合OP的意思。

示例:我使用 lxml 来解析您的字符串并执行 xpath

from lxml import etree

s = '''<div class="j-C j-C-yj" style="max-height: none; -moz-user-select: none; visibility: visible; left: 218px; top: 105px; display: none;" role="menu" aria-haspopup="true">
...: <div id=":1r" class="j-qn" style="-moz-user-select: none;" role="separator"></div>
...: <div id=":1u" class="j-qn" style="-moz-user-select: none;" role="separator"></div>
...: </div>'''

# I need to wrap your string with <root> element otherwise first div will become the root
tree = etree.fromstring('<root>'+s+'</root>')

# xpath always returns a list, so just loop through the list and the first element is what you want
for node in tree.xpath('.//div[contains(@class, "j-C") and contains(@class, "j-C-yj")]'):
print etree.tostring(node[0])
<div id=":1r" class="j-qn" style="-moz-user-select: none;" role="separator"/>

关于python - 如何在 Xpath 语法中使用索引在 Div 中选择 Div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26885801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com