今天需要做个能控制网站按钮的功能,原因是有些网站不是分页的,而是需要点击”show more” 或者“”点击加载更多“ 按钮。才能看到更多的内容,网址和首页网址一样。
代码如下:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get('http://www.baidu.com/')
browser.find_element_by_id("kw").send_keys(u"四大名著")
browser.find_element_by_id("su").click()
time.sleep(2)
browser.quit()
运行后就可以看到打开了Chrome浏览器,并且打开了百度首页。
需注意的两点:
1, 即使是在Anaconda下,也是需要安装selenium的,我原以为已经和Requests这些一样自动安装了。
安装方法如下:
打开CMD, 输入pip install selenium,回车。安装成功。
2, 需要安装chromedriver, 这个据说是chrome浏览器的驱动,其实就是在官网下载个chromedriver的exe文件即可。
下载后要设置环境变量,将路径chromedriver.exe加入环境变量中或者将它直接放在py文件同目录即可。
要注意对应不同版本的Chrome, 其驱动chromedriver.exe版本也不同,可去官网查看对应关系。
至于为什么要设置环境变量我也不知道,但是只知道好处就是写程序时不需要指定浏览器的目录了。