Использование Python для получения нового URL после нажатия кнопки «Отправить» - PullRequest
0 голосов
/ 11 февраля 2019

Я использую Google Map для получения GPS-координат адреса, который я ищу.Я хочу получить URL после того, как я выбрал «Отправить», чтобы я мог извлечь GPS-координаты из URL.Однако мой URL показывает только: https://www.google.com/maps

        url = "http://maps.google.com/"
        locationAdrs = '957 ASHBY GROVE SW ATLANTA' 
        browser = webdriver.Chrome(executable_path="C:/Users/joe/AppData/Local/Programs/Python/Python37-32/PyOn/chromedriver")
        browser.get(url)
        address = browser.find_element_by_xpath('//*[@id="searchboxinput"]')
        address.send_keys(locationAdrs)
        address.submit()
        url = browser.current_url
        print(url) 

1 Ответ

0 голосов
/ 11 февраля 2019

Вы должны подтвердить, что является де-факто доступной ссылкой, потому что ваша введенная ссылка может не соответствовать DNS-маршруту, который в конечном итоге соединяет вас с конечным пунктом назначения.Затем вам нужно подождать, пока ваш браузер обновится, прежде чем вернуть новый адрес, к которому вы обращаетесь:

url = "https://www.google.com/maps"
locationAdrs = '957 ASHBY GROVE SW ATLANTA'
browser.get(url)
address = browser.find_element_by_xpath('//*[@id="searchboxinput"]')
address.send_keys(locationAdrs)
# address.submit() - doesn't seem to do the right thing.
url = browser.current_url # have initial url on same format before click is made to move away
browser.find_element_by_xpath('//*[@id="searchbox-searchbutton"]').click()
while url == browser.current_url:
    time.sleep(2)
url = browser.current_url
print(url)

Вывод: https://www.google.com/maps/place/957+Ashby+Grove+SW,+Atlanta,+GA+30314,+USA/@33.7500669,-84.4211224,17z/data=!3m1!4b1!4m5!3m4!1s0x88f5035d3de5336f:0x9ca82913b5ecbde!8m2!3d33.7500669!4d-84.4189284

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...