Ich versuche, Selenium Webdriver mit Python zu lernen. Mein Code für den Testfall sieht so aus:send_keys nicht senden nach Eingabe eingeben
import unittest
#import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#from selenium.webdriver.common.action_chains import ActionChains
class FindRouteToBerlin(unittest.TestCase):
# Start Firefox
def setUp(self):
self.driver = webdriver.Firefox()
def test_find_route_to_berlin(self):
driver = self.driver
# Open HERE Maps
driver.get('http://wego.here.com')
self.assertIn("HERE WeGo", driver.title)
# Go to Search field and fill with city
search = driver.find_element_by_xpath('//*[@id="searchbar"]/div/div/input')
search.send_keys('Berlin')
search.send_keys(Keys.RETURN)
# Press "Arrow"
arrow = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '/html/body/div[1]/div[6]/div/div/div[1]/div[2]/button')))
arrow.click()
# Enter address
address = driver.find_element_by_xpath('//*[@id="itinerary_item_input_0"]')
address.send_keys('Szczecin')
address.send_keys(Keys.RETURN)
"""actions = ActionChains(driver)
actions.move_to_element(address)
actions.send_keys(Keys.RETURN)
actions.perform()"""
#def tearDown(self):
# self.driver.quit()
if __name__ == "__main__":
unittest.main()
Erster Schritt mit dem Fülltext "Berlin" und funktioniert ohne Probleme. Aber wenn der zweite Schritt kommt, sieht es so aus, als ob Keys.RETURN
nach der Eingabe "Szczecin" nicht ausgeführt wird.
Ich habe versucht, dieses Problem mit einigen ActionChains
zu lösen, aber nach .perform()
habe ich Fehler und ich habe gelesen, dass diese Probleme mit Fehlern in Selenium/Mozilla zusammenhängen.
Mein Code für ActionChains war:
actions = ActionChains(driver)
actions.move_to_element(address)
actions.send_keys(Keys.RETURN)
actions.perform()
Error: Message: POST /session/1caed99c-1577-4f1d-804b-4ee397d8750b/moveto did not match a known command
Irgendwelche Vorschläge, wie kann ich dieses Problem lösen?
versuchen send_keys mit (u '\ ue007') anstelle von RETURN –
@MarcvT Ich habe auch mit send_keys (u '\ ue007') versucht, aber das Verhalten ist das gleiche. Es erweitert nur die Liste mit Tipps für das Ziel (mit send_keys (Keys.RETURN) Verhalten ist das gleiche). Ich habe auch versucht mit send_keys (Keys.ENTER) – bMh
'Aktionen' ist immer noch nicht in' Marionette' implementiert. Wenn Sie "ActionChains" verwenden müssen, versuchen Sie 'chromedriver' oder ersetzen Sie' ActionChains' Codezeilen mit ähnlichem Code – Andersson