2017-03-15 1 views
0

나는 업무 이외의 자동화를 연습하려고합니다. www.phptravels.net을 사용하고 있습니다. 내 목표는 검색 창을 찾고 데이터를 입력 한 다음 검색을 클릭하는 것입니다. driver.find_element_by_class, css, Xpath를 사용하여 요소를 여러 번 찾으려고 시도했지만 작동하지 않는 것 같습니다. 오류 예외가 계속 발생합니다. 아래 내용은 내가 가지고있는 것입니다.Selenium python webdriver, 검색 창 찾기, 값 입력 및 검색

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.PhantomJS() 
driver.get("www.phptravels.com") 
searchBar = driver.find_element_by_xpath("//input[@id='citiesInput']") 
searchBar.send_keys('Virginia') 
searchButton = driver.find_element_by_xpath("//*[@id='EXPEDIA']/div/form/div[6]/div/button").click() 

도움이 되었습니까?

+0

예외는 무엇이며 어디에 던져 질 수 있습니까? – sevzas

+0

selenium.common.exceptions.NoSuchElementException : 메시지 : { "errorMessage": "xpath가있는 요소를 찾을 수 없습니다 '// input [@ id ='citiesInput ']'", "request": –

+0

@RosieLe는 요소를 찾기 전에 잠깐 기다려주십시오. –

답변

0

사이트를 볼 때 제공하는 xpath와 일치하는 것을 찾을 수 없습니다. 먼저 웹 드라이브가 정보에 액세스하기 전에 로그인 할 수있는 무언가를 작성해야한다고 생각합니다.

chrome webdriver을 사용하면 오류가 발생했을 때 어떤 페이지인지 정확하게 볼 수 있습니다. 팬텀과 무슨 일이 벌어지고 있는지 말하기는 어렵습니다. 스크립트가 작동하면 쉽게 전환 할 수 있습니다.

는 XPath가

  1. 오른쪽 콘솔에서
  2. 에 페이지 당신을 클릭 (크롬)이 페이지에있는 경우 당신은 "요소"를 클릭하여 볼 수 있습니다 헤더
  3. Ctrl 키 + F (맥 또는 cmd를 + F)는
  4. 는 XPath는 내가 모두 XPath를 들어, 페이지 www.phptravels.com에 존재하지 않았다고했다

를 입력합니다.

+0

사과드립니다. 이 페이지는 www.phptravels.net이 아니며 .com –

+0

www.phptravels.net에서 다시 볼 수 있습니까? –