我正在尝试弄清楚如何从http://www.walmart.com/browse/TV-Video/TVs/_/N-96v3?这样的页面获取产品可用性文本 (一旦选择了商店)我选择76574作为我的邮政编码并转到“我的商店”标签
我现在的代码是
WebElement hoverElement = driver.findElement(By.xpath(".//*[@id='Body_15992428']/span"));
WebElement hidden = driver.findElement(By.xpath(".//*[@id='slapInfo_NoVariant_15992428']/div"));
Actions builder = new Actions(driver);
builder.clickAndHold(hoverElement).build().perform();
System.out.println(hidden.getText());
**编辑:我尝试了profile.setEnableNativeEvents(false);
,现在文本显示在自动浏览器窗口中。我仍然无法找到我想要的文字。它不会抛出异常,只显示任何内容,因为驱动程序认为它仍然隐藏。任何人都知道如何解决这个问题?
<击> 我一直在
Exception in thread "main" org.openqa.selenium.InvalidElementStateException: Cannot perform native interaction: Could not load native events component.
即使我做了
profile.setEnableNativeEvents(true);
击> <击> 撞击>
我还有其他方法可以获取隐藏的文字,或者我在这里做错了什么?
另外,当我用firebug检查代码时,我看到有这个代码
<script type="text/javascript"> WALMART.$(document).ready(function(){ WALMART.$('#Body_15992428').hover(function(){ WALMART.$('#SeeStoreAvailBubble').wmBubble('update',WALMART.$('#bubbleMsgUpdate_15992428').html()); }); }); </script>
我真的不知道如何直接用javascript做事,但有没有办法直接从javascript执行器获取消息文本?
答案 0 :(得分:0)
在页面中获取对象的悬停文本的唯一方法是使用:
webdriver.getattribute("Htmltag","alt text" );
如果您需要任何帮助,请给我一个喊叫。