Maison > Questions et réponses > le corps du texte
J'ai besoin d'un autre conseil aujourd'hui. J'essaie de créer du code Python/Selenium avec l'idée de cliquer sur www.thewebsiteIwantoclickon Vous trouverez ci-dessous un exemple du HTML sur lequel je travaille.
Laclasse entity-result__title-text est répétée plusieurs fois en HTML, je souhaite donc effectuer une action pour chaque classe entity-result__title-text en cliquant sur l'élément href= pour ouvrir le site Web www. le site Web, je veux cliquer sur (je fais cela dans un code séparé) et revenir au code HTML précédent et répéter le même processus jusqu'au dernier cours entity-result__title text
<span class="entity-result__title-text t-16"> <a class="app-aware-link " href="https://www.thewebsiteIwantoclickon" data- test-app-aware-link=""> <span dir="ltr"><span aria-hidden="true"><!---->Mi Name<!----></span><span class="visually-hidden"><!---->See something<!----></span></span> </a> <span class="entity-result__badge t-14 t-normal t-black--light"> <div class="display-flex flex-row-reverse align-items-baseline"> <!----> <span class="image-text-lockup__text entity-result__badge-text"> <span aria-hidden="true"><!---->• 2º<!----></span><span class="visually-hidden"><!---->example<!----></span> </span> </div> </span> </span>
J'ai écrit le code suivant mais il ne fait rien.
links = driver.find_elements(By.XPATH, "//span[@class='entity-result__title-text']/a[@class='app-aware-link']") for link in links: href = link.get_attribute("href") link.click() # My Action done and I'm ready to close the website driver.back()
Mais rien ne s'est passé.
P粉9669797652024-04-05 09:14:49
Pour créer une liste d'éléments requis, vous devez être visibility_of_all_elements_ localisé(), vous pouvez utiliser l'une des stratégies de localisation suivantes :
Utilisez CSS_SELECTOR :
links = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "span.entity-result__title-text > a.app-aware-link")))
Utilisez XPATH :
links = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.XPATH, "//span[contains(@class, 'entity-result__title-text ')]/a[@class='app-aware-link']")))