在手动点击页面之前,页面上无法识别元素

时间:2009-12-04 22:48:11

标签: java selenium

我正在使用xpath在网页上搜索元素。 xpath是正确的,只有在我首先在页面的任何位置手动执行单击时才能找到该元素。如果我在语句运行之前不这样做,它将找不到该元素。

我尝试了许多不同的尝试,以便专注于页面:

selenium.selectWindow(null);
selenium.fireEvent(xpath, "focus");
selenium.click(element on page);
selenium.mouseDown();
selenium.mouseUp();

执行这些函数后,语句仍然无法找到该元素,但如果我手动最大化页面并单击页面上的任何位置,则运行该语句,找到该元素。任何人都可以帮我解决这个问题吗?

我用来查找元素的语句是:

selenium.isElementPresent("//div[@class='sample_class']");

谢谢!

1 个答案:

答案 0 :(得分:3)

尝试使用该项目的CSS选择器,而不是使用XPath。

使用selenium.isElementPresent("css=div.sample_class");作为选择器。 Saucelabs在http://saucelabs.com/blog/index.php/2009/10/selenium-tip-of-the-week-start-improving-your-locators/

上解释得非常好