selenium鼠标点击

用selenium爬取问财的数据:

driver.get("http://www.iwencai.com/unifiedwap/home/index")
WebDriverWait(driver,10).until(lambda driver: driver.find_element_by_class_name('search-input')).clear()
WebDriverWait(driver,10).until(lambda driver: driver.find_element_by_class_name('search-input')).send_keys('近20天概念版块资金净流向',Keys.ENTER)

用click()翻页

driver.find_element_by_link_text('下页').click() 

但这里出现问题,click()点击偶尔失效不翻页,还好是项目的长度是固定的,用了while 加 break,让浏览器一直翻页,直到取出完整数据

在网上查了下,可以得javascript脚本去模拟点击,

driver.execute_script("arguments[0].click()", driver.find_element_by_link_text('下页'))

用execute_script()的点击比selenium的click()可靠很多

特别是标签是不"a"时,click()无法点击(比如某些下载链接)
execute_script()就能模拟正常鼠标点击事件

span = driver.find_element_by_xpath("//div[@class='iwc-table-ope-left']/div[4]/div/span[1]")
driver.execute_script("arguments[0].click()", span)

你可能感兴趣的:(selenium,javascript,chrome)