Python Selenium - Webscrape地图的纬度和经度

时间:2017-10-28 12:06:48

标签: python selenium

我正试图通过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);
});

我尝试使用Copy作为XPath选项,但它不起作用 这个案例。如何获得经纬度?

1 个答案:

答案 0 :(得分:1)

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

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)