Ich habe diesen Code:Selen WebDriver eine Option im Dropdown-Menü wählen Sie Python auf kopflos Linux mit Firefox-Browser
#!/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()
die Ausgabe:
"Search Jobs - Walmart Kanada Karriere"
Das Problem ist, dass ich nicht weiß, wie man "Calgary" im Feld "Kanadische Städte" auswählt. Ich habe viele verschiedene Möglichkeiten ausprobiert, aber es funktioniert immer noch nicht. Kannst du bitte helfen?
Hinweis: Ich kann Option auswählen und mein Code funktioniert in einer Non-Headless-Umgebung Windows-Maschine, hier ist es python selenium-webdriver select option does not work. Ich beschäftige mich jetzt mit der Produktion von kopflosem Ubuntu, daher ist der Browser auf keiner physischen Anzeige wirklich geöffnet.
Danke nochmals im Voraus.
ich diesen Fehler „selenium.common.exceptions.ElementNotVisibleException: Nachricht: Element ist nicht sichtbar“ bekam genau Linie „ele.click()“ - und das ist der Punkt, von dem wir beschäftigen sich mit kopflosem Browser. Ich bin mir nicht sicher, warum Sie in einer Linux-Umgebung ("chromedriver.exe") angegeben haben, aber ich musste die gesamte Zeile entfernen und durch "driver = webdriver.Firefox (capabilities = firefox_capabilities)" ersetzen. Kannst du bitte hineinsehen? – Dung
Ich arbeite an Windows nicht Linux und in Windows funktioniert es perfekt – Piyush
Wie Sie sehen können, bat ich speziell für Headless Linux. Aber danke für deine Zeit. – Dung