2015-11-12 3 views
0

В настоящее время я пытаюсь очистить сайт. Проблема заключается в том, что информация размещается на картах google в iframe. В частности, широта и долгота.Специфические xPath и регулярное выражение - обход веб-страниц

Я могу получить всю другую информацию, которую я в настоящее время нуждаюсь в этом. Поиск вокруг и работа с поддержкой import.io, я нашел, что мне нужно использовать определенные xPath и Regex, чтобы вытащить эту информацию, но код, который я нашел на сайте, потерял меня. В идеале я бы хотел поделиться с Латной и долготой отдельно. Это код, с которым мне нужно работать.

Какие у меня варианты? Спасибо.

<div class="padding-listItem--sm"> 
    <iframe width="100%" height="310" frameborder="0" allowfullscreen="" src="https://www.google.com/maps/embed/v1/place?q=33.3929503,-111.908652&amp;key=AIzaSyDK08tC4NRubbIiw-xwDR1WEp-YAXX1Mx8" style="border:0"></iframe> 
</div> 
+0

Если предложенное решение работает для вас, пожалуйста, принять его или объяснить, почему это не так, я буду стараться обновлять ответ, а также –

ответ

0

1) Получить атрибут iframe элемента src.

string srcText = driver.findElement(By.tagName("iframe")).getAttribute("src"); 

2) Разбор URL (найденный в srcText) для значений широты и долготы.

Regex найти оба номера:

/([-]?\d+\.\d+)/g 

когда URL в соответствии с заданными параметрами:

https://www.google.com/maps/embed/v1/place?q=33.3929503,-111.908652&amp;key=AIzaSyDK08tC4NRubbIiw-xwDR1WEp-YAXX1Mx8" 
0

XPath для получения iframe источника является:

//div[@class='padding-listItem--sm']/iframe/@src 

Затем вы можете применить регулярное выражение, подобное этому, к obtai п широта и долгота

/q=(-?[\d\.]*),(-?[\d\.]*)/g 

Реализация онлайн Here

Смежные вопросы