gpt4 book ai didi

python - XPath 从两个子文本获取父元素

转载 作者:太空宇宙 更新时间:2023-11-03 15:36:33 25 4
gpt4 key购买 nike

<div class="inner-article">
<a style="height:150px;" href="this is a link"><img width="150" height="150" src="this is an image" alt="K1 88ahiwyu"></a>
<h1><a class="name-link" href="/shop/jackets/pegroxdya/dao7kdzej">title</a></h1>
<p><a class="name-link" href="/shop/jackets/pegroxdya/dao7kdzej">subtitle</a></p>
</div>

你好!

我需要找到一个 XPath 来通过两个“a”子项的标题和副标题获取 class="inner-article"的“div”。我要操作的网站有很多这样的内文,我需要找到具体的一篇,只给一个标题和一个副标题。

例如:该网站有一篇内部文章,标题为“Company® Leather Work Jacket”,副标题的颜色为“Silver”。

现在,即使我只有标题关键字“Work Jacket”和副标题关键字“Silver”,我也需要能够找到“div”元素。

这是我已经想出的:

    e1 = driver.find_element_by_xpath("//*[text()[contains(.,'" + kw + "')]]")

kw 是一个字符串,其中包含标题的关键字,如果我将其打印出来,它会正确响应“a”元素并单击它也可以工作,但它不够具体,因为还有更多对象也具有这些关键字在他们的标题中,这就是为什么我还需要始终包含颜色的副标题(这里称为字符串“clr”):

    e2 = driver.find_element_by_xpath("//*[text()[contains(.,'" + clr + "')]]")

这也可以正确点击字幕,但只有颜色也会返回网站上的多个对象。

这就是为什么我需要找到带有标题关键字和副标题颜色的“div”元素。

我已经尝试过,但它不起作用:

e1 = driver.find_element_by_xpath("//*[text()[contains(.,'" + kw + "') and contains(.,'" + clr + "')]]")

最佳答案

尝试

driver.find_element_by_xpath("//div[h1/a[contains(text(),'" + kw + "')] and p/a[contains(text(),'" + clr + "')]]")

关于python - XPath 从两个子文本获取父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42471303/

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