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()

八种定位元素的方式

  1. 通过id定位元素:find_element_by_id("id_vaule")
  2. 通过name定位元素:find_element_by_name("name_vaule")
  3. 通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")
  4. 通过class_name定位元素:find_element_by_class_name("class_name")
  5. 通过css定位元素:find_element_by_css_selector()
  6. 通过xpath定位元素:find_element_by_xpath("xpath")
  7. 通过link:find_element_by_link_text("text_vaule")
  8. 通过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() # 关闭浏览器

运行结果:

 

 

posted @ 2020-08-30 10:22  贫僧敲代码  阅读(147)  评论(0)    收藏  举报