我有一個條件,當我到達下一個類別時,我可以設定中斷回圈?,我想知道 xpath 到 jquery nextUntil 的等效方法是什么
<div class="category">Category one</div>
<div>category item 1</div>
<div>category item 2</div>
<div>category item 3</div>
<div class="category">Category two</div>
<div>category item 1</div>
<div>category item 2</div>
<div>category item 3</div>
<div>category item 4</div>
我需要 xpath 來選擇類別一到類別二之后的專案,以及從類別二到類別 n
driver.find_elements_by_xpath('.//div[@]')[0].find_element_by_xpath('.//following::div')
uj5u.com熱心網友回復:
在你的情況下,我會將所有類別專案分組到一個新的父 div 中,然后通過它們。
例子:
<div class="category">Category one</div>
<div id="category-1">
<div>category item 1</div>
<div>category item 2</div>
<div>category item 3</div>
</div>
<div class="category">Category two</div>
<div id="category-2">
<div>category item 1</div>
<div>category item 2</div>
<div>category item 3</div>
<div>category item 4</div>
</div>
編輯:如果您無法更改 HTML 結構(我剛剛看到了 Selenium 標記,所以我想您可能無法更改),更簡單的方法就是遍歷 HTML 元素并在沒有 XPath 的情況下進行. XPath 不是為您要實作的目標而設計的。
偽代碼:
categories = []
current_category = []
for element in elements:
if element.class is "category":
if len(current_category) != 0:
categories.append(current_category)
current_category = []
else:
current_category.append(element)
uj5u.com熱心網友回復:
這是您請求的手動實作,請閱讀內嵌注釋。顯然,這是滿足您需求的多種方式之一。
// Custom function to select FROM TO category
const selectFromTo = (from, to) => {
// Select all divs
const divs = document.getElementsByTagName("div");
// Loop divs
const result = [];
let counter = 0;
for(const div of divs) {
// If there is classname "category" do count
if(div.className === "category") counter ;
// Check from/to number and push to results
else if(counter >= from && counter < to) result.push(div);
}
// Return result
return result;
}
// Select range
// First digit is start category,
// second is TILL this category number
const test = selectFromTo(2, 4);
// View selected
console.log(test);
<div class="category">Category one</div>
<div>category item1 1</div>
<div>category item1 2</div>
<div>category item1 3</div>
<div class="category">Category two</div>
<div>category item2 1</div>
<div>category item2 2</div>
<div>category item2 3</div>
<div>category item2 4</div>
<div class="category">Category three</div>
<div>category item3 1</div>
<div>category item3 2</div>
<div>category item3 3</div>
<div>category item3 4</div>
<div class="category">Category four</div>
<div>category item4 1</div>
<div>category item4 2</div>
<div>category item4 3</div>
<div>category item4 4</div>
<div class="category">Category five</div>
<div>category item5 1</div>
<div>category item5 2</div>
<div>category item5 3</div>
<div>category item5 4</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/350231.html
標籤:javascript Python html 数组 硒
