我正在使用Selenium JAVA。下面的代码生成错误:
线程“main”中的异常org.openqa.selenium.NoSuchElementException:无法定位元素:{“method”:“name”,“selector”:“p_subj_code”}命令持续时间或超时:167毫秒。
这是我的代码应该做的:
我在打开一个新窗口时遇到错误,然后无法找到该元素。
我的Java代码:
driver.findElement(By.xpath("//a[contains(text(),'Course Outline Editor')]")).click();
//Search the course
driver.findElement(By.xpath("//input[@value='Submit']")).click();
driver.findElement(By.xpath("//select[@id='majr_code_id']")).sendKeys("BMSC");
//Enter values for course
driver.findElement(By.xpath("//input[@name='p_crse_numb_low']")).sendKeys("234");
//Enter values for course
driver.findElement(By.xpath("//input[@name='p_submit_button']")).click();
//Submits the search
driver.findElement(By.xpath("//a[contains(text(),'BMSC 234')]")).click();
//Brings up the course
String winHandleBefore = driver.getWindowHandle();
System.out.println("Window title" + driver.getTitle());
driver.findElement(By.xpath("html/body/div[3]/a[2]/font")).click();
//Click the link to open a new page
driver.findElement(By.name("p_subj_code")).click();
//(Opens a new page)
driver.findElement(By.xpath(".//*[@id='majr_code_id']/option[2]")).click();
driver.findElement(By.xpath("//input[@id='p'_crse_numb']")).sendKeys("111");
driver.findElement(By.xpath("//input[@value='Find']")).click();
对应的HTML代码:
<caption class="captiontext">Find Course to Copy from</caption>
<tbody>
<tr>
<td class="dedefault"/>
</tr>
<tr>
<td class="delabel" width="120" scope="row">Subject Code:</td>
<td class="dedefault" width="100" colspan="3">
<p class="leftaligntext">
<select id="majr_code_id" size="1" name="p_subj_code">
<option value="">Select </option>
<option value="ACCY">ACCY </option>