在使用selenium webdriver进行爬取淘宝信息,爬取一页结束后,进行翻页操作失败,仔细检查源码,发现在底端输入页码后模拟点击并未生效,本篇记录一下解决问题的办法。
问题描述
相关代码
# 使用谷歌浏览器 |
# 函数功能:跳转到指定页数 |
在这里发现submit_page.click()
并未生效。在网页中的这个地方:
页码可以正常插入,但并未发生跳转,即click方法未生效。
解决办法
方法一:先点父元素
即先点击想要点击的父元素,再点击子元素。browser.find_element_by_css_selector('#mainsrp-pager > div > div > div > div.form').click()
browser.find_element_by_css_selector('"#mainsrp-pager > div > div > div > div.form > span.btn.J_Submit').click()
淘宝真的强无敌,该方法并未起作用,是时候放大招了。
方法二:JS大法好
即直接用js直接去点击,简单粗暴,但有效。js = 'document.getElementsByClassName("btn J_Submit")[0].click();'
browser.execute_script(js)