Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单击“下一步”按钮直到结束_Python_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Python 单击“下一步”按钮直到结束

Python 单击“下一步”按钮直到结束,python,selenium,selenium-webdriver,webdriver,Python,Selenium,Selenium Webdriver,Webdriver,这是我第一次提出的后续问题,我正在尝试抓取一个网站,让Selenium单击下一步(直到无法单击为止),并收集结果 这是网站上带有按钮的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"&g

这是我第一次提出的后续问题,我正在尝试抓取一个网站,让Selenium单击下一步(直到无法单击为止),并收集结果

这是网站上带有按钮的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>
我也查过了,但还是没能解决


有什么想法吗?

寻呼机结果显示实际上是属于按钮父元素的两个类。它们不是name属性,
find\u element\u by\u name
无论如何只获取一个名称。试一试

elm = driver.find_element_by_class_name('next')
elm.click()
请注意,如果单击后DOM发生了更改,则每次都可能需要重新定位按钮

要在循环中单击按钮,只要该按钮处于活动状态,您可以检查buuton是否处于非活动状态

while True:
    elm = driver.find_element_by_class_name('next')
    if 'inactive' in elm.get_attribute('class'):
        break;
    elm.click()

你好,这个有用。但我怎样才能将它组织成一个循环,单击next直到它结束?据我观察,当页面位于最后一页时,
next
仍然存在,但是
html代码
变为
next
@jakewong。我在回答中添加了示例。非常感谢。这给了我想要的:)
while True:
    elm = driver.find_element_by_class_name('next')
    if 'inactive' in elm.get_attribute('class'):
        break;
    elm.click()