【发布时间】:2019-11-21 02:02:50
【问题描述】:
我正在尝试抓取包含多个页面的表格。通过单击“下一页按钮”获得下一页(参见代码 sn-p)。
<a class="botons" id="btn2" href="javascript:void(0)">
Next Page
<i class="fas fa-long-arrow-alt-right"></i>
</a>
Selenium 通过以下代码找到“按钮”并且“点击”没有问题:
btn_next = self.browser.find_element_by_partial_link_text("Next Page")
btn_next.click()
但是,页面只是刷新,表格并没有更新到下一页。
这里有什么问题的线索吗?
编辑:表格可以在https://www.proxy-list.download/HTTPS找到
编辑2:
chrome_options = Options()
chrome_options.add_argument("--enable-javascript")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--headless")
【问题讨论】:
-
至少有两个事件处理程序在那里触发......一个在 标记上......一个打开一个新窗口并将其设置为相同的 URL。另一个放在按钮本身上,并填充表格,但前提是某个 var 的计算结果为 true。 (这可能发生在广告在弹出窗口中加载时)也许尝试在 标记上单击然后单击按钮...或执行 javascript 来设置 var "btn2ena === true"跨度>
-
您也可以尝试单击它两次...发生这种情况后,您可能还需要将驱动程序切换到新选项卡。 (还需要添加下面答案中列出的等待,因为在页面加载时添加了按钮处理程序......)
-
@pcalkins 这实际上解决了它!谢谢一堆。如果您提交您的 cmets 作为答案,我将接受并关闭此线程。
-
很高兴听到...继续发布您自己的答案。不确定哪个解决了您的问题。
标签: python selenium xpath css-selectors webdriverwait