问题描述:
部分代码段如下:
a = driver.find_element(by=By.CSS_SELECTOR, value="body > div > div:nth-child(7) > div.main > div > div > div > div:nth-child(3) > div > div.col-price > p > span > span > span")
print("打印结束:{}".format(a.text))
元素定位是存在文本的【4174】
结果运行代码 输出为空
解决方法:
1. 判断元素是否被隐藏
print ( driver.find_element(xxxx).is_displayed() )
若返回值为False或者空白,那就说明原因被隐藏了
2. 用get_attribute()方法获取
driver.find_element(xxxx).get_attribute(“textContent”)
最后代码和打印结果:
a = driver.find_element(by=By.CSS_SELECTOR,
value="body > div > div:nth-child(7) > div.main > div > div > div > div:nth-child(3) > div > div.col-price > p > span > span > span").get_attribute("textContent")
print("打印结束:{}".format(a))
若存在多个元素,可以:文章来源:https://www.toymoban.com/news/detail-538456.html
allPrice = driver.find_elements(by=By.CSS_SELECTOR, value="body > div > div:nth-child(7) > div.main > div > div > div> div div span > span > span")
for price in allPrice:
print(price.get_attribute("textContent"))
文章来源地址https://www.toymoban.com/news/detail-538456.html
到了这里,关于selenium自动化:定位到的元素本身有值,但是打印出来的文本值为空。【已解决】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!