【《python爬虫入门教程12--重剑无峰168》】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

《python爬虫入门教程12--selenium的安装与使用》


selenium就是一个可以实现python自动化的模块,上次我们更新了如何安装,这次我们来具体看看,它的语法,大家可以自己尝试一下,我的代码直接放在下面。

前言

提示:这里可以添加本文要记录的大概内容:
selenium安装的前期工作:https://blog.csdn.net/xaing1314/article/details/144869489?spm=1001.2014.3001.5502


提示:以下是本篇文章正文内容,下面案例可供参考

一、selenium八种定位元素的方法

1.完整示例代码

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 创建浏览器操作对象
brower = webdriver.Chrome(service=Service(r'chromedriver.exe'))

url = 'https://www.baidu.com'
brower.get(url)

# 元素定位 -- 新的版本有八种方法
# ID = "id"
# XPATH = "xpath"
# LINK_TEXT = "link text"
# PARTIAL_LINK_TEXT = "partial link text"
# NAME = "name"
# TAG_NAME = "tag name"
# CLASS_NAME = "class name"
# CSS_SELECTOR = "css selector"

# 找id="su"的对象
button = brower.find_element('id','su')
print(button)

# button = brower.find_element(by="id", value='su')
# print(button)

# 找name="wd"的对象
# button = brower.find_element(by="name", value='wd')
# print(button)

# 加s就代表获取的所有满足条件的
# button = brower.find_elements(by='xpath', value='//input[@id="su"]')
# print(button)

# 根据标签的来获取对象
# button = brower.find_elements(by="tag name", value="input")
# print(button)

# 使用的bs4的语法来css获取对象
# button = brower.find_element(by="css selector", value="#su")
# print(button)

# 根据link text 来获取对象
# button = brower.find_element(by="link text", value="地图")
# print(button)

二、总结。掌握这几种方法再在它们后面加入.click() 或者其他函数则可以在网页中操作此元素。列如

python 复制代码
driver.find_element(by="css selector", value="#fromStationText").click()
driver.find_element(by="css selector", value="#fromStationText").send_keys(login["from_city"])
driver.find_element(by="css selector", value="#fromStationText").send_keys(Keys.ENTER)
driver.find_element(by="css selector", value="#train_date").clear()
相关推荐
a1117761 分钟前
中文优先的企业 RAG 知识库 开源项目
开发语言·开源·kotlin
破z晓7 分钟前
javascript 导出excel表
开发语言·javascript·excel
西门啐血34 分钟前
上位机开发之假装有设备,使用 C# 模拟串口设备
开发语言·mongodb·c#
veminhe37 分钟前
元数据索引有关的错
人工智能·python
一次旅行40 分钟前
AutoAWQ完整实战:MIT激活感知AWQ量化,模型显存减半、推理提速且精度无损
人工智能·python·算法
ask_baidu43 分钟前
python实现Doris的streamLoad
开发语言·python
GrowthDiary0071 小时前
算法题:寻找二维数组top k问题
数据结构·python·算法
阿米亚波2 小时前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
丙氨酸長鏈2 小时前
[Bukkit插件开发]手持发射器箭矢机枪 教学文档 面向Python/C#开发者入门Java与Bukkit API
java·python·c#
我是唐青枫2 小时前
Java ReentrantLock 实战详解:比 synchronized 更灵活的可重入锁
java·开发语言