Rumah  >  Soal Jawab  >  teks badan

Menggunakan selenium ingin mengklik dan menentukan URL dalam kelas

Saya perlukan petua lain hari ini. Saya cuba membina kod Python/Selenium dengan idea mengklik pada www.thewebsiteIwantoclickon Di bawah ialah contoh HTML yang sedang saya usahakan.

kelas entity-result__title-text diulang beberapa kali dalam HTML, jadi saya ingin melakukan beberapa tindakan untuk setiap kelas entity-result__title-text dengan mengklik elemen href= untuk membuka tapak web www. thewebsiteIwantoclickon (Saya melakukan ini dalam kod berasingan) dan kembali ke HTML sebelumnya dan ulangi proses yang sama sehingga kelas terakhir 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>

Saya menulis kod berikut tetapi ia tidak melakukan apa-apa.

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()

Tetapi tiada apa yang berlaku.

P粉904191507P粉904191507178 hari yang lalu3505

membalas semua(1)saya akan balas

  • P粉966979765

    P粉9669797652024-04-05 09:14:49

    Untuk membuat senarai elemen yang diperlukan, anda mesti visibility_of_all_elements_ located(), anda boleh menggunakan mana-mana strategi pencari berikut:

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

    balas
    0
  • Batalbalas