我正在尝试从URL中的地图上抓取纬度和经度

HTML脚本如下所示,

<div class="map-container"><script>$(document).ready(function() {
  var $injector = angular.element(document.body).injector();
  var $compile = $injector.get('$compile');
  var $rootScope = $injector.get('$rootScope');
  var sfMap = $compile('<div data-sf-map data-center="center" data-zoom="15" data-markers="markers" data-scrollwheel="false" data-zoom-level-change="14"></div>');
  var scope = $rootScope.$new();

  scope.center = {
    latitude: 40.7515022729943,
    longitude: -74.0071970200125
  };

  scope.markers = [{
    id: 4673,
    latitude: 40.7515022729943,
    longitude: -74.0071970200125
  }];

  var $el = sfMap(scope);
  $('.listing-map .map-wrapper .map-container').append($el);
});


我尝试使用“复制为XPath”选项,但不适用于
这个案例。如何获得经度和纬度?

最佳答案

您可以尝试以下代码来获取经度和纬度值:

import re

script = driver.find_element_by_xpath('//div[@class="map-container"]/script').get_attribute('textContent')
latitude =  re.search('(?<=latitude: )-*\d+.\d+', script).group(0)
longitude = re.search('(?<=longitude: )-*\d+.\d+', script).group(0)

关于python - Python Selenium-从 map 上通过Webscrape纬度和经度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46989541/

10-12 17:02