06用程序指挥浏览器💪💪💪
selenium
一、selenium是什么?
1、含义:是一个强大的python库
2、用途:可以通过它控制浏览器,作出自动打开、输入、点击等操作(类似一个用户操作浏览器)
3、selenium安装:pip install selenium
简单代码实现:
from selenium import webdriver import time dirver = webdriver.Chrome() dirver.get('https://xiaoke.kaikeba.com/example/X-Man/') time.sleep(2) teacher = dirver.find_element_by_id('teacher') teacher.send_keys('老师') assistant = dirver.find_element_by_name('assist') assistant.send_keys('全都喜欢') time.sleep(2) button = dirver.find_element_by_tag_name('button') time.sleep(1) button.click() time.sleep(5) dirver.close()
八种定位元素的方式
- 通过id定位元素:find_element_by_id("id_vaule")
- 通过name定位元素:find_element_by_name("name_vaule")
- 通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")
- 通过class_name定位元素:find_element_by_class_name("class_name")
- 通过css定位元素:find_element_by_css_selector()
- 通过xpath定位元素:find_element_by_xpath("xpath")
- 通过link:find_element_by_link_text("text_vaule")
- 通过find_element_by_partial_link_text()
.send_keys() # 模拟按键输入,自动填写表单 .click() # 点击元素
爬取音乐评论;
# 这段代码在本地执行 from selenium import webdriver #从selenium库中调用webdriver模块 import time driver = webdriver.Chrome() # 设置引擎为Chrome,从本地打开一个Chrome浏览器 driver.get('https://y.qq.com/n/yqq/song/001qvvgF38HVc4.html') # 访问页面 time.sleep(2) clickformore = driver.find_element_by_class_name('js_get_more_hot') time.sleep(0.5) clickformore.click() comments = driver.find_element_by_class_name('js_hot_list').find_elements_by_class_name('js_cmt_li') # 使用class_name找到评论 print(len(comments)) for i in range(len(comments)): # 循环 comment = comments[i].find_element_by_tag_name('p') # 找到评论 print ('评论'+str(i)+':'+comment.text + '\n-------------------------------------------------') # 打印评论 driver.close() # 关闭浏览器
运行结果: