[英]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.