xpath 搭配id 强调 //a[contains(text(),'Selenium Official')]" 查找页面文字元素好用的很

第一种 属性

xpath根据属性id 查找元素

 xpath  公式   

//*[@id='fname']    
//全局找
* 标签写*,代表全部的标签匹配 因为id 是唯一值所以可以使用*
[]表达式 里面@属性和属性对应的值

# 导包
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
# 引用谷歌驱动
driver=webdriver.Chrome()
driver.get(r"D:\python-pro\baseapitest\xpath\html.html")
# xpath 根据id查找元素
driver.find_element(By.XPATH,"//*[@id='fname']").clear()
driver.find_element(By.XPATH,"//*[@id='fname']").send_keys("Fan")


time.sleep(5)
driver.quit()

最终效果

 第二种  函数

(1)

 

# xpath 根据id查找元素  函数 以id开始[starts-with(@id,''psw)]
# xpath 根据id查找元素  函数 以。。。开始
driver.find_element(By.XPATH,"//*[starts-with(@id,'psw')]").clear()
driver.find_element(By.XPATH,"//*[starts-with(@id,'psw')]").send_keys("Fan123")

(2)

# xpath 根据id查找元素  函数 contains包含 XX
# xpath 根据id查找元素  函数 contains包含 XX
driver.find_element(By.XPATH,"//*[contains(@id,'ps')]").clear()
driver.find_element(By.XPATH,"//*[contains(@id,'ps')]").send_keys("Fan123")

(3)

 

查找包含

Selenium Official文本的整个文本
# XPath表达式将匹配任何包含文本"Selenium Official"的<a>标签元素
# contains() 是XPath中的一个函数,包含
# text() 是XPath中的一个函数。它用于获取节点的文本内容
t=driver.find_element(By.XPATH,"//a[contains(text(),'Selenium Official')]").text
print(t)

 

posted @ 2023-09-26 16:25  胖豆芽  阅读(111)  评论(0编辑  收藏  举报