jak*_*ong 4 python selenium webdriver selenium-webdriver
这是我的第一个问题的后续问题,我正在尝试抓取一个网站并点击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>
Run Code Online (Sandbox Code Playgroud)
我试过这段代码:
elm = driver.find_element_by_name('pager results-display')
elm.click()
Run Code Online (Sandbox Code Playgroud)
而且我也检查了这个问题,但仍然无法解决它.
有什么想法吗?
pager results-display实际上是属于按钮的父元素的两个类.它们不是name属性,find_element_by_name无论如何只获得一个名称.尝试
elm = driver.find_element_by_class_name('next')
elm.click()
Run Code Online (Sandbox Code Playgroud)
请注意,如果在单击后DOM已更改,则可能每次都必须重新定位按钮.
只要按钮处于活动状态,单击循环就可以检查buuton是否具有类 inactive
while True:
elm = driver.find_element_by_class_name('next')
if 'inactive' in elm.get_attribute('class'):
break;
elm.click()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3207 次 |
| 最近记录: |