我添加了硒测试。在此测试中,我可以点击员工,但无法点击"今日促销更新"。我怎么能这样做?
请查看我的代码。
package Testing;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class Login {
public static void main(String\[\] args) {
WebDriver driver= new FirefoxDriver();
String baseurl="http://203.212.70.20/vid/WebLogin.aspx ";
driver.get(baseurl);
driver.manage().window().maximize();
driver.findElement(By.id("textBoxUserName")).sendKeys("admin");
driver.findElement(By.id("textBoxPassword")).sendKeys("1234");
driver.findElement(By.id("explore")).click();
driver.findElement(By.id("ui-accordion-accordion-header-2")).click();
driver.findElement(By.xpath("//*\[@id="ui-accordion-accordion-panel-2"\]/ul/li\[6\]/a")).click();
//Select oSelection = new Select(driver.findElement(By.id("ui-accordion-accordion-header-2")));
//oSelection.selectByVisibleText("TODAY SALE UPDATE");
driver.findelement(By.visibleText(""))
driver.findElement(arg0)
//oSelection.selectByIndex(1);
// TODO Auto-generated method stub
}
答案 0 :(得分:0)
由于HTML显示您尝试单击的选项是列表项中的URL。
<li><a href="Master/TodaySalesUpdate.aspx"> TODAY SALE UPDATE</a>
</li>
&#13;
它对我有用:
driver.findElement(By.linkText("TODAY SALE UPDATE")).click();
答案 1 :(得分:0)
元素&#34;今日销售更新&#34;是一个列表项而不是Select选项,因此您永远无法在其上使用Select类的selenium。相反,您可以将所有列表项存储在列表中,并根据您的要求单击项。点击&#34;探索&#34;登录页面中的按钮可以执行以下操作。试试吧 -
wd.findElement(By.id("ui-accordion-accordion-header-2")).click();
WebElement web=wd.findElement(By.id("ui-accordion-accordion-panel-2"));
List<WebElement> list=web.findElements(By.tagName("li"));
for(WebElement w:list){
if(w.getText().equalsIgnoreCase("today sale update")){
w.click();
}
}