我想单击通过硒谷歌图片搜索“显示更多结果”按钮。我怎样才能通过硒点击这个按钮,它总是说列表对象没有属性'点击'
的页面应该是4次向下滚动,这样就可以看到按钮。
的HTML代码: enter image description here
我的代码如下
from selenium import webdriver
import time
class ImgCrawler:
def __init__(self,searchlink = None):
self.link = searchlink
self.soupheader = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3176.2 Safari/537.36"}
self.scrolldown = None
self.jsdriver = None
def getChromeCanary(self):
self.jsdriver = webdriver.Chrome("f:\software\python\chromedriver_win32\chromedriver.exe")
self.jsdriver.implicitly_wait(30)
self.jsdriver.get(self.link)
def scrollDownUseChromeCanary(self, scrolltimes = 1, sleeptime = 10):
for i in range(scrolltimes):
self.jsdriver.execute_script('window.scrollTo(0,document.body.scrollHeight);')
time.sleep(sleeptime)
def clickNextPage(self):
return self.jsdriver.find_elements_by_css_selector("input.ksb._kvc").click()
if __name__ == '__main__':
weblink = "https://www.google.com.hk/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1461&bih=950&q=circle&oq=circle&gs_l=img.3..0l10.1497.3829.0.4548.10.9.1.0.0.0.185.1136.0j7.7.0....0...1.1.64.img..2.7.974...0i10k1.4YZkQiWXzGo"
img = ImgCrawler(weblink)
img.getChromeCanary()
img.scrollDownUseChromeCanary(4,5)
img.clickNextPage()
为什么更换
?只有一个按钮。 –
'find_elements_by_css_selector'总是返回所有匹配元素的列表,对于一个或几百个,甚至0个都会给出一个空列表 – PRMoureu
虽然,您说得对,谢谢!有用。但我不明白。我搜索网页源代码。只有一个地方匹配“input.ksb._kvc”。为什么它回报很多? –