当前位置: 首页 > news >正文

selenium元素获取

from selenium import webdriver
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.maximize_window()#最大化窗口
#隐式等待
driver.implicitly_wait(10)#打开网页
driver.get("https://www.zhipin.com/beijing/?ka=city-sites-101010100")#定位到搜索框,然后输入内容
# driver.find_element(By.CSS_SELECTOR,'input[name="query"]').send_keys("测试工程师")
driver.find_element(By.CSS_SELECTOR,'.ipt-search').send_keys("测试工程师")driver.find_element(By.XPATH, '//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/button').click()"""
id
如果某个元素的有id属性,那么如果id属性的值唯一,则可以利用该属性的值定位
如果id属性的值是一串无序的字母或者数字,则不能使用,有可能是动态id
driver.find_element(By.ID,"id属性的值")name
根据name的属性值来定位,但是如果name属性的值在当前页面不唯一,则是无法定位的
driver.find_element(By.NAME,"name值")class name
class 属性的值,不唯一的可能性很大
driver.find_element(By.CLASS_NAME,'btn btn-search')tag name(通过标签名本身选择,一般无法使用,不推荐)
driver.find_element(By.TAG_NAME,"标签名")link text(一般不要使用)partial link text(一般不要使用)xpathCSS_SELECTOR
例如driver.find_element(By.CSS_SELECTOR,'input[name="query"]')
根据<input name="query">而来
driver.find_element(By.CSS_SELECTOR,'.ipt-search')根据<input class='ipt-search'>而来
"""

补充知识:

1. CSS_SELECTOR 定位
CSS Selector 是一种通过 CSS 样式规则来选取 HTML 元素的方法。它基于元素的标签、类名、ID、属性等来进行定位。常见的 CSS_SELECTOR 语法:
tag:选择标签名的元素,例如 div。
.class_name:选择具有指定类名的元素。
#id:选择具有指定 ID 的元素。
[attribute=value]:选择具有特定属性值的元素。
示例:使用 CSS_SELECTOR 定位
假设我们有以下 HTML 代码:
<div id="container"><button class="btn" id="submitBtn">Submit</button><a href="https://example.com" class="link">Click Me</a>
</div>

使用 CSS_SELECTOR 定位按钮(button 标签,id=“submitBtn”):

from selenium import webdriver
from selenium.webdriver.common.by import By# 启动浏览器
driver = webdriver.Chrome()# 打开网页
driver.get('https://example.com')# 通过 CSS_SELECTOR 定位按钮
button = driver.find_element(By.CSS_SELECTOR, '#submitBtn')
button.click()  # 点击按钮# 关闭浏览器
driver.quit()

使用 CSS_SELECTOR 定位链接(a 标签,class=“link”):

link = driver.find_element(By.CSS_SELECTOR, 'a.link')
link.click()  # 点击链接
常见的 CSS_SELECTOR 示例:
通过类名:div.class_name
通过 ID:#element_id
通过属性:input[type="text"]
通过后代选择器:div > button(选择 div 中的 button 元素)
通过伪类:button:hover(选择被悬浮的按钮)
2. XPath 定位
XPath 是一种在 XML 文档中查找信息的语言,也可以用来定位 HTML 元素。它允许通过元素的路径、标签、属性、文本等来精确查找元素。常见的 XPath 语法:
/tag:选择根元素下的 tag 元素。
//tag:选择页面中所有的 tag 元素。
//tag[@attribute='value']:选择具有指定属性的 tag 元素。
//*[text()='text_value']:根据元素的文本内容查找。
//tag[contains(@attribute, 'value')]:根据属性包含的值进行匹配。
示例:使用 XPath 定位
假设我们有以下 HTML 代码:
<div id="container"><button class="btn" id="submitBtn">Submit</button><a href="https://example.com" class="link">Click Me</a>
</div>

使用 XPath 定位按钮(button 标签,id=“submitBtn”):

button = driver.find_element(By.XPATH, '//*[@id="submitBtn"]')
button.click()  # 点击按钮

使用 XPath 定位链接(a 标签,class=“link”):

link = driver.find_element(By.XPATH, "//a[@class='link']")
link.click()  # 点击链接
常见的 XPath 示例:
通过元素 ID://*[@id='element_id']
通过类名://*[contains(@class, 'class_name')]
通过文本://*[text()='Click Me']
通过属性://input[@type='text']
使用 contains://*[contains(@href, 'example')](查找包含特定文本的链接)

http://www.mrgr.cn/news/97643.html

相关文章:

  • 初学STM32之编码器测速以及测频法的实现
  • 团体程序设计天梯赛题解(L2)
  • VSCode英文翻译插件:变量命名、翻单词、翻句子
  • vue3中pinia基本使用
  • 【扩展KMP】P10634 BZOJ2372 music |省选-
  • C++进阶笔记第二篇:引用
  • 智能设备运行监控系统
  • FreeRTOS临界区
  • CentOS8.5 安装 LLaMA-Factory
  • openEuler24.03 LTS下安装Flink
  • 查看手机在线状态,保障设备安全运行
  • SpringDoc【使用详解】
  • Dev C++下载及安装
  • fpga系列 HDL:跨时钟域同步 4-phase handshake(四相握手通信协议,请求-确认机制)浅释与代码实现
  • 嵌入式---加速度计
  • 搭建hadoop集群模式并运行
  • SearXNG
  • MCP基础学习一:MCP概述与基础
  • Linux 性能调优之CPU调优认知
  • 【回眸】Linux 内核 (十三)进程间通讯 之 共享内存