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()
相关推荐
nenchoumi311915 分钟前
AirSim/Cosys-AirSim 游戏开发(一)XBox 手柄 Windows + python 连接与读取
windows·python·xbox
GoodStudyAndDayDayUp16 分钟前
初入 python Django 框架总结
数据库·python·django
星辰大海的精灵24 分钟前
基于Dify+MCP实现通过微信发送天气信息给好友
人工智能·后端·python
精灵vector29 分钟前
Agent短期记忆的几种持久化存储方式
人工智能·python
北京_宏哥44 分钟前
🔥Python零基础从入门到精通详细教程4-数据类型的转换- 上篇
前端·python·面试
Chef_Chen1 小时前
从0开始学习R语言--Day20-ARIMA与格兰杰因果检验
开发语言·学习·r语言
乾巫宇宙国监察特使1 小时前
Python的设计模式
python·测试
Hockor1 小时前
写给前端的 Python 教程四(列表/元组)
前端·后端·python
这里有鱼汤1 小时前
熟练掌握MACD这8种形态,让你少走三年弯路(附Python量化代码)| 建议收藏
后端·python
404.Not Found1 小时前
Day46 Python打卡训练营
开发语言·python