python - 在 Selenium Python 中获取 URL

标签 python selenium web-scraping

我对 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/

相关文章:

python - 与 Python 的流畅界面

python - 为什么 Pandas series.str.contains 方法在有前导空格时检测不到匹配项?

java - 如何使用 Selenium Java 从下拉框中的用户输入的自动完成中提取城市列表

r - 如何清理和组织这个已抓取数据列表?

Python Mechanize 表单提交不起作用

python - 根据列值输出多个文件 python pandas

ruby-on-rails - Docker上的远程Selenium无法正确处理Javascript

java - 如何在Windows中通过命令提示符运行从selenium IDE导出的java文件

python - 使用 BeautifulSoup 提取跨度类文本时没有返回

python - 如何重启flask服务器?