我有一个webelement,在鼠标悬停时显示一些文本(它不是工具提示) HTML代码是
<div class="total-discout-outer" style="display: block;">
<div class="total-discout-show">
<div class="discount-arrow-top"></div>
<div style="line-height:12px;font-size:13px;"> Promo Applied: (-) Rs 2</div>
</div>
</div>
现在,只要鼠标移动到此处或那里,文本就会消失 它的html是
<div class="total-discout-outer" style="display: none;">
<div class="total-discout-show">
<div class="discount-arrow-top"></div>
<div style="line-height:12px;font-size:13px;"> Promo Applied: (-) Rs 2</div>
</div>
</div>
我试图为它生成xpath并使用XPathChecker检查它运行正常但是使用selenium它给出NoSuchElement异常
我使用的xpath是
//div[contains(@style,'display: none')]//div[contains(text(),'Promo')]
我也试过
Actions builder = new Actions(driver);
builder.moveToElement(driver.findElement(By.xpath("//div[@class='discounted-price']"))).build().perform();
System.out.println(driver.findElement(By.className("total-discount-show")).getText());
&#34;折扣价格&#34;是悬停显示促销文本的webelement 但上面也给出了NoSuchElementException。 现在我如何从中获取文字。
答案 0 :(得分:0)
不确定它是否有帮助,但在该div上使用.getAttribute("style")
,您将得到值为String!
答案 1 :(得分:0)
在我的情况下,Js代码可以正常工作
public static string GetValueFromele(IWebElement element, IWebDriver Driver)
{
IJavaScriptExecutor javaScriptExecutor = (IJavaScriptExecutor)Driver;
string value = javaScriptExecutor.ExecuteScript("return arguments[0].innerHTML", element) as string;
return value;
}