0
votes

Sélection d'un élément déroulant de A
menu Sélénium python

Alors je suis un peu coincé! J'essaie de sélectionner un élément à partir de "TOUTES LES AVISTS" DÉPOSSIX TAMADI N'EST PAS INTERACTION COMME A UN ALLÈS L'APPEL DE CHAQUE ARTICLE SIMITER L'ÉLÉMENT DE ET ALORS CLIQUEZ.

Au lieu de cela, les actes comme un élément où sur son étiquette changeant différents résultats sont affichés. Est-ce que quelqu'un sait comment je pourrais sélectionner un élément à partir de ce menu?

Par exemple, en faisant le menu Sélectionnez l'onglet "Google" dans la liste déroulante.

pour référence: https://www.google.com/maps/PLACE/HILTON+LONDON+Bankside/@51.5056536,-0.1033145 , 17z / data =! 3m1! 4B1! 4m10! 3m9! 1S0x487604af6af74cc7: 0x6c4cb3cbe03e95bf! 5m2! 4m1! 1I2! 8m1! 1b1 "3D51.5056536!


0 commentaires

3 Réponses :


1
votes

à ces éléments de page Web apparaissent, beaucoup d'entre eux n'existent pas simplement dans le contenu DOM, vous devez utiliser la méthode WebDiverWait pour attendre que l'élément spécifique soit situé.

Par exemple, sélectionnons "Google" comme Vous avez demandé: xxx


0 commentaires

1
votes

Ce que vous pouvez faire est de trouver votre liste déroulante, puis de la répertorier à toutes les options et de sélectionner votre unique. Voici comment je le fais xxx

Je sélectionne la liste déroulante qui ont une valeur de l'état "GB".


0 commentaires

1
votes

induire webdiverwait code> () et ollement_to_be_clickable code> () et cliquez sur le Tous les évaluations code> div ensemble pour ouvrir le menu déroulant, puis sélectionner la Articles basés sur du texte.

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver=webdriver.Chrome()
driver.get("https://www.google.com/maps/place/Hilton+London+Bankside/@51.5056536,-0.1033145,17z/data=!3m1!4b1!4m10!3m9!1s0x487604af6af74cc7:0x6c4cb3cbe03e95bf!5m2!4m1!1i2!8m2!3d51.5056536!4d-0.1011258!9m1!1b1")
#Dropdown text provide here
selectItem='Agoda'
#First click on the All reviews element to open up the dorpdown element
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div[aria-label='All reviews']"))).click()
#Select item from menu dropdown by text
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@role='menuitem']//div[text()='"+ selectItem +"']"))).click()


1 commentaires

Merci pour votre réponse, j'ai également inclus ma réponse sans codage dur. Je vais tester le vôtre aussi!