J'essaie de cliquer sur un élément, disons une liste de pays dans une liste déroulante, mais je ne peux cliquer que sur les premiers pays à l'aide de xpath, lorsque j'essaye de cliquer sur le dernier pays semble que le clic ne fonctionne pas. est le code (cela fonctionne pour les premiers pays mais je veux cliquer sur le dernier pays de la liste déroulante) Si quelqu'un m'aide, ce serait apprécié!
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait as wait
import time
driver = webdriver.Chrome()
driver.get('https://www.example.com/dropdown')
##click accept cookies button
wait(driver, 5).until(EC.visibility_of_element_located(
(By.XPATH, '//div[@class="cookie-button-wrapper"]'))).click()
##time delay
time.sleep(20)
##click on specific country from the dropdown
wait(driver, 5).until(EC.visibility_of_element_located(
(By.XPATH, '//div[@class="tv-dropdown__button tv-dropdown-behavior__button tv-screener-market-select__button js-screener-market-button apply-common-tooltip common-tooltip-fixed"]'))).click()
wait(driver, 5).until(EC.visibility_of_element_located(
(By.XPATH, '//*[@data-market="argentina"]'))).click()
Essayez d'abord de faire défiler jusqu'à l'élément:
from selenium.webdriver.common.action_chains import ActionChains
element = driver.find_element_by_xpath("//*[@data-market='italy']")
actions = ActionChains(driver)
actions.move_to_element(element).perform()
Ensuite, essayez de cliquer dessus, en utilisant la dernière partie de votre code:
wait(driver, 5).until(EC.visibility_of_element_located((By.XPATH, '//*[@data-market="italy"]'))).click()
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots