Home > OS >  How to find 'Text' by using selenium?
How to find 'Text' by using selenium?

Time:06-29

driver = webdriver.Chrome()
URL= 'https://modernhousevn.com/collections/new-arrival/products/giuong-ngu-mh-21'
driver.get(URL)
sleep(1)
des = wait.until(EC.visibility_of_element_located((By.XPATH, "//strong[text()='Chất liệu :']/.."))).get_attribute('innerText')
print(des)

My expected result is ['Khung : Khung Gỗ thông - Vạt giường gỗ thông', 'Da PU hoặc vải bố cao cấp nhập khẩu', 'Mousse : D40/35 theo tiêu chuẩn xuất khẩu']

enter image description here

CodePudding user response:

  1. Located <p> contain 'Chất liệu :'
  2. Back to parent, find first <ul>
  3. Find all <li> in the <ul>
des = driver.find_elements(By.XPATH, "//strong[contains(text(),'Chất liệu :')]/../following-sibling::ul[1]/li")
print([d.text for d in des])

output

['Khung : Khung Gỗ thông - Vạt giường gỗ thông', 'Da PU hoặc vải bố cao cấp nhập khẩu', 'Mousse : D40/35 theo tiêu chuẩn xuất khẩu ']

CodePudding user response:

Replace below lines of code.

des = wait.until(EC.visibility_of_element_located((By.XPATH, "//strong[text()='Chất liệu :']/.."))).Text;
print(des)

CodePudding user response:

Try this xpath to find the text which contains it

(By.XPATH,"//strong[contains(text(),'Chất liệu')]"); hope it will work!

  • Related