我正在尝试找到下面元素的xpath,以便稍后我可以使用Ruby Selenium-webdriver(即helloPage.mainHeader.get_text
)来获取文本。
<div class="container">
<div class="template-section">
<div class="front">
<h3 class="containerHeading">
<i class="icon_image"></i>
"Hello world <-----------------------3 whitespaces
"
</h3>
</div>
</div>
</div>
我已经研究过xpaths,但每次我重新运行测试时,它基本上都不存在元素。它在UI上清晰可见,而不是隐藏。
为什么我的xpath错了?我尝试过以下方法:
//div[@class='container']//div[@class='template-section']//div[@class='front']//h3[@class='containerHeading']
//div[@class='front']//h3[@class='containerHeading']
//h3[@class='containerHeading']
我确实在执行helloPage.mainHeader.get_text
之前放置了睡眠,其中mainHeader
具有XPath表达式,但这不起作用。关于Hello World文本有什么神秘之处吗?格式确实就像我打字一样。
答案 0 :(得分:0)
你的所有xpath对我来说都是正确的......我想当你试图用你的xpath找到元素时...元素没有正确加载...尝试使用显式等待。请尝试使用下面提供的代码:
wait = Selenium::WebDriver::Wait.new(:timeout => 10) wait.until { driver.find_elements(:xpath, "Any of your above mentioned xpaths") }