在Selenium Python中获取URL

rks48beu  于 2023-02-12  发布在  Python
关注(0)|答案(1)|浏览(261)

我是一个非常新的Python,我希望刮以下网站:Link
我认为Selenium可能是正确的工具,我开始编写以下代码:

  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. path='http://planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx'
  4. browser = webdriver.Firefox()
  5. browser.get(path)
  6. elem = browser.find_element_by_id('txtPostCode')
  7. elem.clear()
  8. elem.send_keys("E9 7JP")
  9. elem.send_keys(Keys.RETURN)
  10. print (browser.current_url)

到目前为止一切顺利,它的工作.但是,browser.current_url的返回值不完全是我的浏览器的url栏中显示的.我的意思是脚本的返回值是:
//planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx
然而,在浏览器的网址是显示我这一个:
//planning.hackney.gov.uk/Northgate/PlanningExplorer/Generic/StdResults.aspx?PT=Planning%20Applications%20On-Line&SC=Postcode%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/j5jzxiwxklgslnam4qffypw5/052dd052-3993-4f10-83aa-dd0c6c326676.xml
现在我想知道如何得到这个地址?!
多谢了!

ia2d9nvy

ia2d9nvy1#

在检查脚本返回的URL和浏览器显示的URL之间是否进行了任何其他请求。在Keys.RETURN后发送的请求URL会在URL中添加会话标识符,这可能是您获得不同URL的原因。
我有这个剧本

  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. chromepath='chrome_driver_path' //change this to your chromedriver path
  4. driver = webdriver.Chrome(chromepath)

driver.get('http://planning.hackney.gov.uk/Northgate/PlanningExplorer/generalsearch.aspx')

  1. print(driver.current_url)
  2. elem = driver.find_element_by_id('txtPostCode')
  3. elem.clear()
  4. elem.send_keys("E9 7JP")
  5. elem.send_keys(Keys.RETURN)
  6. print (driver.current_url)
  7. driver.quit()

按键代码是从您的代码本身复制的。我从浏览器和脚本中得到了相同的URL
脚本提供此URL -Link浏览器提供此相同URL -Copied Manually

展开查看全部

相关问题