我试图自动化与硒RC以下情形:XPath或CSS不工作
- 打开谷歌主页,在搜索框中输入“软件”,然后点击搜索按钮。
- 点击Google搜索检索到的多个链接的第一个链接。
由于我没有看到这些链接的名称或id属性,并且此链接的内容是动态的,所以我尝试使用XPath或CSS。
从Firebug,我得到XPath和CSS右键单击然后复制XPath,复制CSS。
XPATH:/html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a
CSS:html body#gsr div#main div div#cnt div#nr_container div#center_col div#res.med div#search div#ires ol#rso li.g div.vsc span.tl h3.r a.l
我尝试在目标硒中输入上面的XPath中的XPath,并找到按钮。它工作得很好 但是当我使用上述XPath或CSS硒RC为:
selenium.click("xpath=//html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a");
selenium.click("css=html body#gsr div#main div div#cnt div#nr_container div#center_col div#res.med div#search div#ires ol#rso li.g div.vsc span.tl h3.r a.l");
上述两个线路不工作,并给出错误。 请建议。
我的代码是如下:
package Eclipse_Package;
import com.thoughtworks.selenium.*;
import org.junit.*;
//import org.junit.Before;
//import org.junit.Test;
import java.util.regex.Pattern;
public class Selenium_SX extends SeleneseTestCase {
// public class Jun3
@Before
public void setUp() {
selenium = new DefaultSelenium("localhost", 4444, "*firefox3 C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.google.co.in/");
selenium.start();
}
// C:\Program Files (x86)\Mozilla Firefox\
@SuppressWarnings("deprecation")
@Test
public void test() {
selenium.open("http://www.google.com");
selenium.windowMaximize();
// selenium.waitForPageToLoad("5000");
// selenium.type("id=acpro_inp3", "selenium");
selenium.type("q", "software");
selenium.click("btnG");
selenium.waitForPageToLoad("7000");
// selenium.fireEvent("Selenium web application testing system", "click");
// selenium.click("link=Selenium web application testing system");
// selenium.click("xpath=//html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a");
selenium.click("xpath=(//a[class=\"li[1]\"])[1]");
// selenium.click("css=//div['span.tl h3.r a.l']");
selenium.waitForPageToLoad("15000");
}
@After
public void tearDown() {
selenium.stop();
}
// public static void main(String args[])throws Exception{
// Selenium_SX sx=new Selenium_SX();
// sx.setUp();
// sx.test();
// sx.tearDown();
// }
}
您确定在执行点击命令之前您是否等待足够的时间? – 2011-06-13 11:06:53
你可以添加你的源代码。 – Tnem 2011-06-13 14:22:42
请在编辑后的文章中找到代码,并请提出建议。另外,当我点击搜索按钮后添加waitforpagetoload时,虽然我将时间增加到15000秒,但出现超时错误。因此,我尝试在第一次在这里发布 – srikrish 2011-06-13 15:07:41