У меня есть этот код:селена WebDriver выберите вариант в раскрывающемся меню с помощью питона на обезглавленном Linux с браузером Firefox
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support.ui import Select
from pyquery import *
# declaration of variables
display = Display(visible=0, size=(800, 600))
display.start()
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = True
# Initialize
driver = webdriver.Firefox(capabilities=firefox_capabilities)
driver.maximize_window()
driver.implicitly_wait(10)
driver.get('https://sjobs.brassring.com/TGWebHost/searchopenings.aspx?partnerid=25222&siteid=5011')
print driver.title
# below does not work
# driver.find_element_by_xpath(".//*[@id='Question4138__FORMTEXT62']/option[37]").click()
# selectsoptions = driver.find_element_by_id("Question4138__FORMTEXT62")
# for option in selectsoptions .find_elements_by_tag_name('option'):
# if option.text == 'Calgary':
# option.select()
# break
driver.find_element_by_id('ctl00_MainContent_submit1').click()
# call a sub-routine function def (not shown here)
save_rows(driver.find_element_by_id('idSearchresults'))
driver.close()
display.stop()
выход:
«Поиск вакансий - Walmart Канада Карьера»
Проблема в том, что я не знаю, как выбрать «Калгари» в поле «Канадские города». Я пробовал много разных способов, но все равно это не работает. Не могли бы вы помочь?
Примечание: Я могу выбрать вариант, и мой код работает в среде без звука без окон Windows, здесь это python selenium-webdriver select option does not work. Теперь я имею дело с выпуском безголового Ubuntu, поэтому браузер на самом деле не открывается на любом физическом дисплее.
Еще раз спасибо.
Я получил эту ошибку «selenium.common.exceptions.ElementNotVisibleException: Сообщение: Элемент не виден» точно линии «ele.click()» - и это точка, которую мы имеют дело с безголовым браузером. Я не уверен, почему вы дали («chromedriver.exe») в среде Linux, но мне пришлось удалить всю строку и заменить «driver = webdriver.Firefox (возможности = firefox_capabilities)». Можете ли вы заглянуть в нее? – Dung
Я работаю над окнами, а не в Linux, и в окнах он работает отлично – Piyush
Как вы можете видеть, я просил Linux без особого внимания. Но спасибо, как за ваше время. – Dung