一尘不染

如何使用Python和Selenium遍历Webelements列表?

selenium

我想遍历一个webelements列表并从每个<h2>元素中返回文本,但是我只从第一个元素而不是从其他<li>标记内的其余元素中获取文本,然后存在存在该循环的代码

这是我要从中提取文本的HTML代码的一部分:

<div class="KambiBC-event-page-component__column KambiBC-event-page-component__column--1">



            <ul class="KambiBC-list-view__column">

              <li class="KambiBC-bet-offer-category KambiBC-collapsible-container KambiBC-expanded KambiBC-bet-offer-category--hidden KambiBC-bet-offer-category--fade-in">

                <header class="KambiBC-bet-offer-category__header" data-touch-feedback="true">

                  <h2 class="KambiBC-bet-offer-category__title js-bet-offer-category-title">Piete selectate</h2>

                </header>

              </li>

              <li class="KambiBC-bet-offer-category KambiBC-collapsible-container KambiBC-expanded KambiBC-bet-offer-category--hidden KambiBC-bet-offer-category--fade-in">

                 <header class="KambiBC-bet-offer-category__header" data-touch-feedback="true">

                  <h2 class="KambiBC-bet-offer-category__title js-bet-offer-category-title">Another text</h2>

                 </header>

              </li>



              <li class="KambiBC-bet-offer-category KambiBC-collapsible-container KambiBC-bet-offer-category--hidden KambiBC-bet-offer-category--fade-in">

                 <header class="KambiBC-bet-offer-category__header" data-touch-feedback="true">

                  <h2 class="KambiBC-bet-offer-category__title js-bet-offer-category-title">Different text</h2>

                 </header>

             </li>



              <li class="KambiBC-bet-offer-category KambiBC-collapsible-container KambiBC-bet-offer-category--hidden KambiBC-bet-offer-category--fade-in">

                 <header class="KambiBC-bet-offer-category__header" data-touch-feedback="true">

                  <h2 class="KambiBC-bet-offer-category__title js-bet-offer-category-title">Yet another text</h2>

                 </header>

              </li>



            </ul>





      </div>

这是Pyhton代码:

import time

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC



driver = webdriver.Edge("D:\pariuri\python\MicrosoftWebDriver.exe")

driver.implicitly_wait(5)



driver.get("https://www.unibet.ro/betting#filter/football")



try:

    element_present = EC.presence_of_element_located((By.CLASS_NAME, 'KambiBC-event-result__score-list'))

    WebDriverWait(driver, 4).until(element_present)

except TimeoutException:

    print ('Timed out waiting for page to load')



event = driver.find_elements_by_class_name('KambiBC-event-item KambiBC-event-item--type-match')



for items in event:

   link = items.find_element_by_class_name('KambiBC-event-item__link')

   scoruri =  items.find_element_by_class_name('KambiBC-event-item__score-container')



   scor1 =  scoruri.find_element_by_xpath(".//li[@class='KambiBC-event-result__match']/span[1]")

   scor2 =  scoruri.find_element_by_xpath(".//li[@class='KambiBC-event-result__match']/span[2]")



   print (scor1.text)

   print (scor2.text)

   if scor1.text == '0' and scor2.text == '0':





        link.click()

        time.sleep(3)





        PlajePariuri = driver.find_elements_by_xpath("//ul[@class='KambiBC-list-view__column']")

        for items in PlajePariuri:

             NumePlaje = items.find_element_by_xpath("//li/header/h2")

             print (NumePlaje.text)

阅读 485

收藏
2020-06-26

共1个答案

一尘不染

一直在我的脸上,这将打印每个元素的文本,很高兴我能发现

PlajePariuri = driver.find_elements_by_class_name('KambiBC-bet-offer-category KambiBC-collapsible-container KambiBC-expanded KambiBC-bet-offer-category--hidden KambiBC-bet-offer-category--fade-in')


    for items2 in PlajePariuri:

        NumePlaje = items2.find_element_by_class_name('KambiBC-bet-offer-category__title js-bet-offer-category-title')

        print (NumePlaje.text)
2020-06-26