2017-04-30 2 views
0

나는 파이썬에 아주 새로운 오전 그리고 난 다음 웹 사이트를 긁어 찾고 있어요 : 나는 셀레늄이 올바른 도구가 될 수 있다는 생각 Link셀레늄 파이썬에서 URL을 가져

을 나는 다음과 같은 코드를 쓰기 시작 :

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은 내 브라우저의 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=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

지금 내가 잡아 궁금해 이 주소?

고맙습니다.

+0

및 게시물에 파이어 폭스 버전? python3, python-selenium 2.53, firefoxdriver 2.53 및 Firefox 45.9.0을 사용하여 문제를 재현 할 수 없습니다. 스크립트를 실행하면 기대했던 것과 같이 더 긴 URL을 얻을 수 있습니다. 귀하의 답변에 대해 –

+0

감사합니다. 파이썬 버전은 3.6.1, 셀레늄은 3.4.0, 파이어 폭스는 53, 파이어 폭스 드라이버 버전을 어떻게 알 수 있을지 모르지만 가장 최신 버전이다. 난 며칠 전 셀레늄을 설치 했어. –

답변

1

스크립트가 반환 한 URL과 브라우저에 표시된 URL을 확인하는 중에 다른 요청을 했습니까? Keys.RETURN을 전송 한 요청 URL은 세션 식별자에 URL을 추가하므로 다른 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을 제공을 - 당신은 당신의 파이썬 버전, 파이썬 셀레늄 버전, firefoxdriver 버전을 추가 할 수 Copied Manually

+0

완벽 하네, 많이 고마워! 그것은 작동합니다! 같은 코드는 나에게 사용하는 드라이버에 따라 다른 결과를 준다 ... Firefox 드라이버가 짧은 주소를 제공한다는 것을 의미한다. 크롬 드라이버는 길고 하나는 필요하다 ... –

+0

당신은이 대답을 받아 들일 수 있다고 표시 할 수있다. 이 문제가 해결 된 경우 대답하십시오. 감사 – demouser123

관련 문제