我对 python 很陌生,我正在寻找以下网站:Link
我认为 Selenium 可能是正确的工具,我开始编写以下代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
path='http://planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx'
browser = webdriver.Firefox()
browser.get(path)
elem = browser.find_element_by_id('txtPostCode')
elem.clear()
elem.send_keys("E9 7JP")
elem.send_keys(Keys.RETURN)
print (browser.current_url)
到目前为止一切顺利,有效。但是,browser.current_url
的返回值与我的浏览器网址栏中显示的不完全一样。我的意思是脚本的返回值是:
//planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx
但是浏览器中的 URL 向我显示了这个:
//planning.hackney.gov.uk/Northgate/PlanningExplorer/Generic/StdResults.aspx?PT=Planning%20Applications%20On-Line&SC=邮政编码%20is%20E9%207JP&FT=Planning%20Application%20Search% 20Results&XMLSIDE=/Northgate/PlanningExplorer/SiteFiles/Skins/Hackney/Menus/PL.xml&XSLTemplate=/Northgate/PlanningExplorer/SiteFiles/Skins/Hackney/xslt/PL/PLResults.xslt&PS=10&XMLLoc=/Northgate/PlanningExplorer/Generic/XMLtemp/j5jzxiwxklgsl南4qffypw5/052dd052-3993-4f10-83aa-dd0c6c326676.xml
现在我想知道如何获得这个地址?!
非常感谢!
最佳答案
在检查脚本返回的 URL 和浏览器显示的 URL 之间,您是否发出了任何其他请求。 Keys.RETURN
后发送的请求 URL 会在 URL 中添加 session 标识符,这可能是您获得不同 URL 的原因。
我有这个脚本
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
chromepath='chrome_driver_path' //change this to your chromedriver path
driver = webdriver.Chrome(chromepath)
driver.get('http://planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx')
print(driver.current_url)
elem = driver.find_element_by_id('txtPostCode')
elem.clear()
elem.send_keys("E9 7JP")
elem.send_keys(Keys.RETURN)
print (driver.current_url)
driver.quit()
按键代码已从您的代码本身复制。我从浏览器和脚本获得相同的 URL
脚本给了我这个 URL - Link 浏览器给了我同样的 URL - Copied Manually
关于python - 在 Selenium Python 中获取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43708882/