[英]Python Selenium clicking next button until the end
這是我第一個問題的后續問題 ,我正在嘗試抓取一個網站,讓Selenium單擊next
(直到無法單擊為止),並收集結果。
這是帶有按鈕的網站html標記:
<div class="pager results-display">
<span class="action-btn prev inactive" data-page="1">Prev</span>
<span class="action-btn inactive" data-page="1">1</span> # Currently in page 1 thus inactive
<span class="action-btn" data-page="2">2</span>
<span class="action-btn" data-page="3">3</span>
<span class="action-btn" data-page="4">4</span>
<span class="action-btn" data-page="5">5</span>
<span class="action-btn" data-page="6">6</span>
<span class="action-btn" data-page="7">7</span>
<span class="action-btn" data-page="8">8</span>
<span class="action-btn" data-page="9">9</span>
<span class="action-btn" data-page="10">10</span>
<span class="action-btn" data-page="11">11</span>
<span class="action-btn" data-page="12">12</span>
<span class="action-btn" data-page="13">13</span>
<span class="action-btn" data-page="14">14</span>
<span class="action-btn next" data-page="2">Next</span>
</div>
<div class="no-results-display hidden" style="display: none;">
No companies matched your search. Try again.
</div>
我已經試過這段代碼:
elm = driver.find_element_by_name('pager results-display')
elm.click()
而且我也檢查了這個問題 ,但仍然無法解決。
有什么想法嗎?
pager results-display
實際上是屬於按鈕的父元素的兩個類。 它們不是name屬性,無論如何, find_element_by_name
僅獲得一個名稱。 嘗試
elm = driver.find_element_by_class_name('next')
elm.click()
請注意,如果單擊后DOM發生了更改,則每次可能必須重新定位按鈕。
要在按鈕處於活動狀態時單擊循環,您可以檢查按鈕是否處於inactive
while True:
elm = driver.find_element_by_class_name('next')
if 'inactive' in elm.get_attribute('class'):
break;
elm.click()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.