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()
相关推荐
程序员三藏2 小时前
Jmeter自动化测试
自动化测试·软件测试·python·测试工具·jmeter·测试用例·接口测试
吴佳浩4 小时前
Langchain 浅出
python·langchain·llm
smj2302_796826524 小时前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
mortimer4 小时前
破局视频翻译【最后一公里】––从语音克隆到口型对齐的完整工程思路
python·github·aigc
门框研究员6 小时前
解锁Python的强大能力:深入理解描述符
python
子不语1808 小时前
Python——函数
开发语言·python
ndjnddjxn8 小时前
Rust学习
开发语言·学习·rust
daidaidaiyu8 小时前
一文入门 LangChain 开发
python·ai
菜鸟‍8 小时前
【后端学习】MySQL数据库
数据库·后端·学习·mysql
陈天伟教授8 小时前
基于学习的人工智能(1)机器学习
人工智能·学习