2016-10-13 4 views
1

캐나다 도시 목록에서 캘거리를 선택하지 않으면 검색 버튼을 클릭 한 후 검색 결과에서 모든 도시가 항상 문법적으로 반환됩니다. 여기 내 코드 :python selenium-webdriver 선택 옵션이 작동하지 않습니다.

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 

# Initialize 
driver = webdriver.Firefox() 
driver.get('https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011') 
# Select city name Calgary 
calgaryOptionXpath = ".//*[@id='Question4138__FORMTEXT62']/option[37]" 
calgaryOptionElement = WebDriverWait(driver, 10).until(lambda driver:driver.find_element_by_xpath(calgaryOptionXpath)) 
calgaryOptionElement.click() 
# click submit button "Search" 
driver.find_element_by_id('ctl00_MainContent_submit1').click() 

미리 감사드립니다!

답변

1
from selenium import webdriver 
from selenium.webdriver.support.ui import Select 
import time 

# Initialize 
driver = webdriver.Chrome() 
driver.maximize_window() 
driver.implicitly_wait(10) 
driver.get('https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011') 



# Select city name Calgary 
text = "Calgary" # what ever you want to select in dropdown 
currentselection = driver.find_element_by_id("Question4138__FORMTEXT62") 
select = Select(currentselection) 
select.select_by_visible_text(text) 

select.deselect_by_visible_text("All") 

print("Selected Calgary by visible text") 

driver.find_element_by_id('ctl00_MainContent_submit1').click() 

희망이 내가 그것을 테스트

+0

을하는 데 도움이, 그것은 작동합니다. 고마워요. 맥주 한 잔 사주세요. – Dung

+0

@ 멍 - 코드를 실행할 때 항상 캘거리를 얻습니다. 문제가 무엇인지 확실하지 않습니다. 대답은 오류가 처음 발생한 이유를 알리지 않고 코드를 제공하기 만하면됩니다. 그는 웹 요소를 선택으로 변환 한 다음 상호 작용했습니다. – testerjoe2

+0

@ testerjoe2 질문에 대한 내 코드를 사용해보십시오 : element : click()이 작동하지 않습니다. 왜 그가 "표시된 텍스트로 선택된 캘거리"라고 말했습니까? 그리고 Select : select : select_by_visible_text를 사용하면 작동합니다! – Dung

관련 문제