python+Selenium——web自动化之通过文本信息定位元素

目录

使用文本内容定位的原因

精确匹配:text()方法

模糊匹配:contains()


使用文本内容定位的原因

在元素定位过程中有的元素只有标签没有属性,而只是具有文本信息,这时在定位的时候需要通过文本内容来定位。

定位的方式:通过xpath定位方法定位,文本内容的选择形式有两种方法,精确匹配和模糊匹配

如访问:控制台 · 天气API

定位如图元素是否存在

精确匹配:text()方法

from selenium import webdriver
import time

wd = webdriver.Chrome()
wd.maximize_window()
time.sleep(0.5)
wd.get('http://www.tianqiapi.com/user/login')

text1 = wd.find_element_by_xpath("//small[text()]").text
print(text1)

wd.quit()

模糊匹配:contains()

用来匹配包含某段文本内容的元素,例如匹配包含登陆文本内容的文本元素对象

//div[contains(text(),"登陆")],注意:文本内容使用模糊匹配的时候需要用双引号包裹,否则无法匹配到任何元素

 

from selenium import webdriver
import time

wd = webdriver.Chrome()
wd.maximize_window()
time.sleep(0.5)
wd.get('http://www.tianqiapi.com/user/login')

text_logs = wd.find_elements_by_xpath('//div[contains(text(),"登录")]')
for log in text_logs:
    print(log.text)

wd.quit()

两种方法:

  • '//div[contains(text(),"")]'
  • '//div[contains(string(),"")]'

版权声明:本文为JBY2020原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。