![](/img/trans.png)
[英]How to use css selector nth-of-type and nth-child to locate element in Python Selenium
[英]Python Selenium get nth parent and nth child
我正在尋找一種解決方案來獲取已知元素的第二個父元素(div),然后在 selenium 和 python 中獲取帶有子元素的子元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="p1">
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<span class="target">b_Kunden</span>
</div>
</div>
<div class="p2">...</div>
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<div class="p4">
<div class="p5">
<div class="p6">
<button type="button" class="b1">button i want to click</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="p1">
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<span class="target">different</span>
</div>
</div>
<div class="p2">...</div>
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<div class="p4">
<div class="p5">
<div class="p6">
<button>some button</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="p1">
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<span class="target">different</span>
</div>
</div>
<div class="p2">...</div>
<div class="p2">...</div>
<div class="p2">
<div class="p3">
<div class="p4">
<div class="p5">
<div class="p6">
<button>some button</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
我正在使用 xpath 獲取我正在尋找的元素並檢查特定文本(“b_Kunden”)(工作正常):
temp = browser.find_elements_by_xpath("//*[contains(text(), 'b_Kunden')]")[0]
** 我無法通過簡單的 className 等訪問它。這只是環境中的虛擬 HTML 我需要 go 到 p1 class 從哪里向下到按鈕,然后單擊它里面的子元素“p6_”
原因是我需要准確按下跨度文本為 b_Kunden 的部分的按鈕。 因為這些部分的數量是可變的,所以我無法通過示例來計算和訪問它們:[1] 類運算符。 我需要找到術語“b_Kunden”並按下 p1 部分中的相關按鈕。
如果有人可以幫助我解決這個問題,我會很高興。
最好的問候,利亞姆
這可能會對您有所幫助(假設您提到的第二個父級在層次結構中倒退(更高的 DOM):
browser.find_elements_by_xpath("//*[contains(text(), 'b_Kunden')][1]//parent::div//parent::div")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.