1.selenium基本命令
加载网页
from selenium import webdriver
driver = webdriver.PhantomJS(“c:…/pantomjs.exe”)
driver.get("http://www.baidu.com/")
driver.save_screenshot("长城.png")
查看请求信息
driver.page_source
driver.get_cookies()
driver.current_url
退出
driver.close()
driver.quit()
定位元素命令
find_element_by_id (返回一个元素)
find_elements_by_xpath (返回一个包含元素的列表)
find_elements_by_link_text (根据连接文本获取元素列表)
find_elements_by_partial_link_text (根据连接包含的文本获取元素列表)
find_elements_by_tag_name (根据标签名获取元素列表)
find_elements_by_class_name (根据类名获取元素列表)
2.selenium爬虫使用代理
from selenium import webdriver
chome_options = webdriver.ChromeOptions()
chome_options.add_argument('--proxy-server=http://ip:port')
driver = webdriver.Chrome(chrome_options=chome_options)
3.例子1
from selenium import webdriver
driver =webdriver.Chrome()
driver.get("https://www.douban.com/")
ret1 = driver.find_element_by_id("anony-nav")
ret2 = driver.find_elements_by_id("anony-nav")
driver.close()
例子2:一个漫画网站的图片源码里面div里面没有包含img标签,是js代码之后发送请求加载的。可以用selenium把加载之后的源码弄到手,然后在解析
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html, "lxml")
image = soup.find('div', id='images').find('img').get('src')
print(image)
driver.close()