Как щелкнуть текст класса span через Selenium и Python - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу щелкнуть текст в классе промежутка

<div class="u_pg _more_btn_wrapper" style=""> 
<a href="#" onclick="nclk(this, 'sis.moreb', '', '')" class="u_pg_btn _btn_more"> 
<div class="u_pg_wrap"> 
<span class="u_pg_area"> 
<div class="loading _more_btn_loading" style="display: none;"> 
<span class="load_img">로딩중..
</span> 
</div> 
<span class="u_pg_txt _more_txt">더보기</span> 
</span>
 </div>
 </a> 
</div>

, чтобы щелкнуть по классу промежутка "u_pg_txt _more_txt"> tried Я попробовал два разных кода ниже;

#driver.find_element_by_xpath("//span/span[contains(.,'더보기')]").click()
#driver.findElement(By.partialLinkText("더보기")).click();

иони не помогли мне помочь ..

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Нажав на элемент с текстом 더보기 , вы можете использовать любое из следующих решений:

  • Использование CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.u_pg._more_btn_wrapper > a.u_pg_btn._btn_more span.u_pg_area span.u_pg_txt._more_txt"))).click()
    
  • Использование XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='u_pg _more_btn_wrapper']/a[@class='u_pg_btn _btn_more']//span[@class='u_pg_area']//span[@class='u_pg_txt _more_txt']"))).click()
    
  • Примечание : необходимо добавить следующие операции импорта:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
0 голосов
/ 28 февраля 2019

Еще один способ создания xpath ->

driver.find_element_by_xpath("//span[contains(@class,'u_pg_txt')]").click()
...