微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium如何定位span元素中的文本

页面结构

网易登入页

 

 

 

 

 

 

 

登入成功后的页面代码

 

 

 

代码

'''
#我们对网页的操作没有报错不代表自动化没有问题
#此时需要通过页面返回的信息做一个判断,来做人工的定位
'''
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
driver = webdriver.Chrome()
driver.get("https://www.126.com/")
time.sleep(4)

print('Before login............')
title = driver.title
print(title)
NowURL = driver.current_url
print(NowURL)

#这是为了先却换到运行模块,不然会定位不到元素
fname =driver.find_element(By.XPATH,'/html/body/div[2]/div[3]/div[1]/div/div[4]/div[1]/div[1]/iframe')
driver.switch_to.frame(fname)

#百度输入框输入内容
driver.find_element(By.XPATH,"//input[@name='email']").clear()
driver.find_element(By.XPATH,"//input[@name='email']").send_keys("username")
driver.find_element(By.NAME,"password").clear()
driver.find_element(By.NAME,"password").send_keys("password")
driver.find_element(By.ID,"dologin").click()
#driver.find_element(By.CSS_SELECTOR,"[data-loginname='loginEmail']")

time.sleep(5)

print('After login............')
title = driver.title
print(title)
NowURL = driver.current_url
print(NowURL)

#此种方法不能点出text
# user = driver.find_elements(By.ID,'spnUid')
#后面的这3种方法都可以 取登入页面用户账号信息来验证自动化是否正常
# user =driver.find_element(By.XPATH,'//*[@id="spnUid"]').text
# user =driver.find_element(By.XPATH,'/html/body/header/div[1]/ul[1]/li[1]/a//*[@id="spnUid"]').text
user =driver.find_element(By.CSS_SELECTOR,"[id='spnUid']").text
print(user)

driver.quit()

 

异常

打印结果找不到text

 

解决办法

通过疯狂百度,尝试了text,getAttribute通通失败。一位热心网友的回复救了我,他怀疑是元素定位不准确导致的。于是我只定位了第一个元素,.text获取成功。

user =driver.find_element(By.XPATH,'/html/body/header/div[1]/ul[1]/li[1]/a//*[@id="spnUid"]').text

 

https://blog.csdn.net/weixin_42346330/article/details/87093937?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&utm_relevant_index=1

https://blog.csdn.net/qq_35910317/article/details/121890542

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐