recherche

Maison  >  Questions et réponses  >  le corps du texte

En utilisant Selenium, vous voulez cliquer et définir une URL en classe

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.

La

classe 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粉904191507P粉904191507227 Il y a quelques jours3625

répondre à tous(1)je répondrai

  • P粉966979765

    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']")))

    répondre
    0
  • Annulerrépondre