硒逐班找到元素,但返回空字符串。如何修复?
该代码尝试显示一个城市的天气预报。它能够找到包含内容的类,但打印出一个空字符串。这是为什么?我如何更改代码才能不得到空字符串?
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
s=Service("C:\Program Files (x86)\chromedriver.exe")
browser = webdriver.Chrome(service=s)
city = str(input("Enter a city"))
url="https://www.weather-forecast.com/locations/"+city+"/forecasts/latest"
browser.get(url)
browser.maximize_window()
content = browser.find_element(By.CLASS_NAME, "b-forecast__table-description-content")
print(content.text)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你足够近。这些内容实际上位于祖先
< p>
标签的后代< span>
中。要打印所有所需的文本,您必须诱导 webdriverwait a href =“ https://stackoverflow.com/a/64770041/7429447”> visibility_of_All_ELEments_Located() ,您可以使用以下任何一个 locator策略:
使用 css_selector
使用 xpath :
控制台输出:
注意:您必须添加以下导入:
You were close enough. The contents are actually within the descendant
<span>
of the ancestor<p>
tags.To print all the desired texts you have to induce WebDriverWait for the visibility_of_all_elements_located() and you can use either of the following Locator Strategies:
Using CSS_SELECTOR:
Using XPATH:
Console Output:
Note : You have to add the following imports :