Python 无法从隐藏容器中刮出某些文本
我已经用python编写了一个脚本,用于刮取位于类floorplan中的某个文本,该类位于右侧列中,该列位于模态体中。但是,当我运行脚本时,它会给出空白输出 在floorplan和swing类中,单击值之前的元素为空: 到目前为止,我已尝试使用“无法使我的脚本单击该图像以显示我正在查找的数据”: 预期产出:Python 无法从隐藏容器中刮出某些文本,python,python-3.x,selenium,selenium-webdriver,web-scraping,Python,Python 3.x,Selenium,Selenium Webdriver,Web Scraping,我已经用python编写了一个脚本,用于刮取位于类floorplan中的某个文本,该类位于右侧列中,该列位于模态体中。但是,当我运行脚本时,它会给出空白输出 在floorplan和swing类中,单击值之前的元素为空: 到目前为止,我已尝试使用“无法使我的脚本单击该图像以显示我正在查找的数据”: 预期产出: Delaware 这是在该地图上启动单击时在框中弹出信息的方式: 如何单击该地图以从弹出式容器中刮取所需的文本 下面的代码提供json格式的所有数据: import requests i
Delaware
这是在该地图上启动单击时在框中弹出信息的方式:
如何单击该地图以从弹出式容器中刮取所需的文本
下面的代码提供json格式的所有数据:
import requests
if __name__ == '__main__':
headers = {
'fullurl': 'https://khovsecure.ml3ds-cloud.com/index.html?_ga=2.181197287.1174152084.1550480313-902396065.1550480313#/lotmap/43935',
}
response = requests.get('https://khovsecure.ml3ds-cloud.com/resources/data/CommunityData/khovsecure.ml3ds-cloud.com', headers=headers)
print(response.json())
我尝试您建议的脚本时出现超时异常错误。仅当在地图上执行单击时,元素才会出现。谢谢。@MITHU检查我的答案更新。不需要selenium来获取数据,您可以使用请求以json的形式获取所有数据,然后对其进行解析。你在哪里找到这个链接的?我试着用chrome开发工具在“全部”和“xhr”选项卡中获取相同的链接,但找不到相同的链接?你能给我指路吗?谢谢。在devtools的“网络”选项卡中,刷新页面,然后您可以找到链接。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def collect_links(link):
driver.get(link)
wait.until(EC.invisibility_of_element_located((By.CSS_SELECTOR,"path#ip-loader-circle")))
item = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,".modal-body .right-column .floorplan")))
print(item.get_attribute("innerHTML"))
if __name__ == '__main__':
url = "https://khovsecure.ml3ds-cloud.com/index.html?_ga=2.181197287.1174152084.1550480313-902396065.1550480313#/lotmap/43935"
driver = webdriver.Chrome()
wait = WebDriverWait(driver,20)
collect_links(url)
driver.quit()
Delaware
import requests
if __name__ == '__main__':
headers = {
'fullurl': 'https://khovsecure.ml3ds-cloud.com/index.html?_ga=2.181197287.1174152084.1550480313-902396065.1550480313#/lotmap/43935',
}
response = requests.get('https://khovsecure.ml3ds-cloud.com/resources/data/CommunityData/khovsecure.ml3ds-cloud.com', headers=headers)
print(response.json())