单击提交按钮后使用Python获取新URL

单击提交按钮后使用Python获取新URL,python,web-scraping,get,geolocation,gps,Python,Web Scraping,Get,Geolocation,Gps,我正在使用谷歌地图获取我正在搜索的地址的GPS坐标。我想在提交后获取URL,以便从URL中提取GPS坐标。但是,我的URL仅显示: 您必须重新确认实际访问的链接是什么,因为您输入的链接可能与最终将您连接到最终目的地的DNS路由不一致。然后,您必须等待浏览器更新,然后才能返回正在访问的新地址: url = "https://www.google.com/maps" locationAdrs = '957 ASHBY GROVE SW ATLANTA' browser.get(url) addres

我正在使用谷歌地图获取我正在搜索的地址的GPS坐标。我想在提交后获取URL,以便从URL中提取GPS坐标。但是,我的URL仅显示:


您必须重新确认实际访问的链接是什么,因为您输入的链接可能与最终将您连接到最终目的地的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+阿什比+格罗夫+西南,+亚特兰大,+GA+30314,+USA/@33.7500669,-84.4211224,17z/数据=!3m1!4b1!4m5!3m4!1s0x88f5035d3de5336f:0x9ca82913b5ecbde!8m2!3d33.7500669!4d-84.4189284

我仍然在获取url。在while循环中,您将url与驱动程序进行比较。当前_url,我没有驱动程序变量,它生成运行时错误,表示未定义驱动程序变量。这应该是一个浏览器变量吗?当我将其更改为browser变量时,我得到了相同的url:是的,在您的情况下,它应该是
browser.current\u url
。如果您以“google.com/maps”结尾,请将您的初始url设置为此rxact字符串。目标是保持在while循环中,直到它发生变化。我将自动更新我的建议。请注意谷歌地图的url可能是“google.com/maps”、“www.google.com/maps”、“maps.google.com”中的任意一个,我相信还有很多其他变体。这些都是指向“同一个地方”的DNS路由,但拼写在while循环中很重要。在离开之前,将url重新设置为当前url返回的内容应该可以解决这个问题。我对答案作了适当的修改。如果当前的url不起作用,您可以使用page\u sorce。它现在对我起作用,问题是我使用的是url='',但应该使用url=“”
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)