1
votes

Pourquoi SafariDriver ne peut-il pas cliquer sur un élément spécifique alors que Chrome, FF, Edge le peuvent?

J'ai un problème lors de l'exécution des tests de l'interface utilisateur Safari sur MAC. J'ai un élément:

selenium.common.exceptions.ElementNotInteractableException: Message:
C:\python\lib\site-packages\selenium\webdriver\remote\errorhandler.py:242: ElementNotInteractableException

 entrez la description de l'image ici Il réduit / dégage un bloc caché avec des filtres. Lorsque j'effectue une action clic () dans Chrome, FF ou Edge, cette action est effectuée. Mais quand j'exécute le même code pour Safari, j'obtiens l'exception:

wd.find_element_by_xpath("//div[@id='ZoomBundle_people_search__searchTab-innerCt']//fieldset//span[text()='Company Information']")

J'ai essayé d'ajouter WebDriverWait, mais le résultat est le même. Il voit l'élément, mais ne peut pas interagir avec lui.


0 commentaires

3 Réponses :


3
votes

C'est un problème avec SafariDriver. Vous avez une suggestion pour essayer de cliquer via JS:

elem.click()

à la place

wd.execute_script("arguments[0].click();", elem)

Et ça fonctionne bien maintenant (=

p >


0 commentaires

0
votes

Si vous ne souhaitez pas exécuter javascript, essayez la simulation réelle de l'appui sur la touche Entrée du clavier comme suit.

L'exemple ci-dessous correspond au code Python

from selenium.webdriver.common.keys import Keys

driver = webdriver.Safari()
element = driver.find_element_by_xpath("//div[@id='ZoomBundle_people_search__searchTab-innerCt']//fieldset//span[text()='Company Information']")
element.send_keys(Keys.RETURN)


0 commentaires

0
votes

Si vous pensez qu'il s'agit d'un bogue dans safaridriver, veuillez déposer un rapport de bogue sur https://feedbackassistant.apple. com / avec un scénario de test et un script de test. Ce comportement est bien spécifié, donc toute divergence entre les implémentations est probablement un bogue.


0 commentaires