繁体   English   中英

如何通过 xpath 获取所有 H4 元素

[英]How to get all H4 elements by xpath

我是 Selenium 和 Python 的新手。 我想做一个测试,对于这个测试,我想阅读所有产品名称。

<div class="caption">
                                <h4>Okulary</h4>
                                <p>Cena: 15.54 zł</p>
                                <p>Suspendisse fringilla enim libero, vitae tincidunt sapien fringilla ac.</p>
                                <p>
                                    <div class="input-group input-group-sm">
                                        <span class="input-group-btn">
                                            <button id="add-product-5e9b68c25b809" class="btn btn-sm" role="button"
                                                    data-add-to-basket
                                                    data-product-price="15.54"
                                                    data-product-name="Okulary" disabled>Dodaj</button>
                                        </span>
                                        <input type="number" min="0" step="1" class="form-control" value="0" autocomplete="off">
                                    </div>
                                </p>
                            </div>

我试过了

products = []
        wait = WebDriverWait(self.driver,60)
        titles = wait.until(EC.visibility_of_all_elements_located((By.XPATH, "//h4[text()]")))
        for title in titles:
            products.append(title.text)

但我一直都在

 raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: 

您正在使用visibility_of_all_elements_located来检索基于文本的//h4[text()]但在 DOM Nazwa funkcjonalności: & Opis funkcjonalności:中存在两个h4不可见元素。 因此代码抛出了TimeoutException 尝试下面的代码来解决您的异常。

driver.get('https://buggy-testingcup.pgs-soft.com/task_1')
driver.maximize_window()
wait = WebDriverWait(driver, 20)
productName=wait.until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@class='caption']//h4")))

for name in productName:
    print(name.text)

Output:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM