我有這樣的代碼:硒的webdriver選擇使用python無頭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()
輸出:
「搜索職位 - 沃爾瑪加拿大的職業」
問題是我不知道如何選擇「加拿大城市」領域的「卡爾加里」。我嘗試了許多不同的方法,但仍然無效。你能幫忙嗎?
注意:我可以選擇選項,我的代碼可以在非無人機環境的Windows機器上工作,這裏是python selenium-webdriver select option does not work。我現在正在處理生產無頭的Ubuntu,因此瀏覽器並沒有真正在任何物理顯示器上打開。
再次提前致謝。
我得到這個錯誤「selenium.common.exceptions.ElementNotVisibleException:消息:元素是不可見的」正好行「ele.click()」 - 這是一個點,我們正在處理無頭瀏覽器。我不知道你爲什麼在Linux環境下給出(「chromedriver.exe」),但我必須刪除整行,並用「driver = webdriver.Firefox(capabilities = firefox_capabilities)」取代。你可以看看它嗎? – Dung
我正在使用windows,而不是Linux,並且在windows中工作很完美 – Piyush
正如你所看到的,我特意要求無頭Linux。但是謝謝你的時間。 – Dung