Python爬虫学习之selenium库

目录

一、selenium库的基本使用

二、selenium元素定位

三、selenium元素信息

四、selenium交互


一、selenium库的基本使用

复制代码
#(1)导入selenium
from selenium import webdriver

#(2)创建浏览器操作对象
path = 'chromedriver.exe'

browser = webdriver.Chrome(path)

#(3)访问网站
url = 'https://www.jd.com'

browser.get(url)

#page_source获取网页源码
content = browser.page_source
print(content)

二、selenium元素定位

复制代码
from selenium import webdriver

path = 'chromedriver.exe'

browser = webdriver.Chrome(path)

url = 'http://wwww.baidu.com'

browser.get(url)

#元素定位

#根据id来找到对象(常用)
button = browser.find_element_by_id('su')
print(button)

#根据标签属性的属性值来获取对象
button = browser.find_element_by_name('wd')
print(button)

#根据xpath语句来获取对象(常用)
button = browser.find_element_by_xpath('//input[@id="su"]')
print(button)

#根据标签的名字来获取对象
button = browser.find_elements_by_tag_name('input')
print(button)

#使用的bs4的语法来获取对象(常用)
button = browser.find_elements_by_css_selector('#su')
print(button)

button = browser.find_element_by_link_text('地图')
print(button)

三、selenium元素信息

复制代码
from selenium import webdriver

#访问元素信息
#(1)获取元素属性
#(2)获取元素文本
#(3)获取标签名

path = 'chromedriver.exe'
browser = webdriver.Chrome(path)

url = 'http://www.baidu.com'

browser.get(url)

#(1)获取元素属性
input = browser.find_element_by_id('su')

print(input.get_attribute('class'))   #里面放属性名字

#(2)获取元素文本
A = browser.find_element_by_link_text('新闻')
print(A.text)

#(3)获取标签名
print(input.tag_name)

四、selenium交互

e.g.

复制代码
from selenium import webdriver

#创建浏览器对象
path = 'chromedriver.exe'

browser = webdriver.Chrome(path)

#定义url
url = 'http://wwww.baidu.com'

browser.get(url)

import time
time.sleep(3)

#获取文本框的对象
input = browser.find_element_by_id('kw')

#在文本框中输入Python
input.send_keys('Python')

time.sleep(2)

#获取百度一下的按钮
button = browser.find_element_by_id('su')

#点击百度一下按钮
button.click()

time.sleep(2)

#模拟js滑动  滑动到底部
db_button = 'document.documentElement.scrollTop=100000'
browser.execute_script(db_button)

time.sleep(2)

#获取下一页的按钮的两种方法
#next = browser.find_element_by_css_selector('.n')

next = browser.find_element_by_xpath('//a[@class="n"]')

#点击下一页按钮
next.click()

time.sleep(2)

#回到上一页
browser.back()

time.sleep(2)

#回去
browser.forward()

time.sleep(3)

#退出
browser.quit()
相关推荐
LYS_06186 分钟前
寒假学习(8)(c语言8+模数电8)
c语言·学习·pcb
AI浩9 分钟前
学习语言驱动的序列级别模态不变表示用于视频可见光-红外行人重识别
学习·音视频
进阶小白猿10 分钟前
Java技术八股学习Day26
java·开发语言·学习
hcnaisd221 分钟前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
不会代码的小测试22 分钟前
UI自动化-针对验证码登录的系统,通过首次手动登录存储cookie的方式后续访问免登录方法
开发语言·python·selenium
以孝治家行动24 分钟前
传承家风家训 涵养时代新人——慈明学校以孝治家阳光家庭教育中心开展线上学习会
学习·以孝治家·正能量
强子感冒了27 分钟前
MySQL学习笔记:索引和数据库设计
数据库·学习·mysql
flashier27 分钟前
ESP32学习笔记_WiFi(3)——HTTP
网络·笔记·单片机·网络协议·学习·http·esp32
开发者小天29 分钟前
python中calss的用法
开发语言·python