2016-10-13 3 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

@Dung - Я всегда получаю Калгари, когда я запускаю ваш код. Не знаете, в чем проблема в вашем случае. Ответ просто дает код, не сообщая, почему произошла ошибка в первую очередь. Он преобразовал веб-элемент в select и затем взаимодействовал с ним. – testerjoe2

+0

@ testerjoe2 попробуйте мой код в вопросе, я использовал драйвер: element: click(), который не работает, поэтому он сказал «Selected Calgary по видимому тексту», и он использовал Select: select: select_by_visible_text, и это работает! – Dung

Смежные вопросы