在使用Python的Selenium中,我一直在尝试从具有子元素的DIV选择器中选择文本。代码如下所示: -
<div class="empty-cart-message">
There are no items in this cart.<br>
<button class="btn btn-blue close continue-button continue-empty-btn tmargin10">Continue Shopping</button>
</div>
我需要文字&#34;此购物车中没有商品。&#34;只是,我正在使用find_element_by_css_selector()
方法。
我面临的问题是,除了我需要的文本外,它还会获取按钮标签内的文本。我使用的代码如下所示: -
cart_status=driver.find_element_by_css_selector("div.empty-cart-message").text
if(assertEqual("There are no items in this cart", cart_status)):
cont_btn=driver.find_element_by_css_selector("button.continue-empty-bin")
cont_btn.click()
我无法找到任何可以消除/取消选择&#34;按钮&#34;直接来自我正在使用的方法。
答案 0 :(得分:0)
您可以使用以下xpath:
//div[@class='empty-cart-message' ]/child::text()
但是,目前selenium不支持对象(因为它不是webelement),你可以运行Python javascript executor:
returnText = driver.execute_script("return document.evaluate(\"//div[@class='empty-cart-message']/child::text()\", document, null, XPathResult.STRING_TYPE, null).stringValue;")