Selenium-Xpath-Java或CSS定位器

时间:2017-02-15 20:50:12

标签: java selenium selenium-webdriver

帮我查一下ValueChange按钮"点击JS Alert"

以下是链接https://the-internet.herokuapp.com/javascript_alerts

我正在使用此xpath -

xpath

并且它没有显示这样的元素。

这是使用的代码:

.//*[@id='content']/div/ul/li[1]/button 

4 个答案:

答案 0 :(得分:2)

您以错误的方式使用代码:

WebElement element=driver.findElement(By.id("//button[text()='Click for JS Alert']")); 
只有在您使用By.id时,

id才能应用于具有指定XPath属性的搜索元素。

您需要使用以下内容:

WebElement element=driver.findElement(By.xpath("//button[text()='Click for JS Alert']")); 
element.click();

答案 1 :(得分:0)

使用此xpath:(//div[@class='example']/ul/li/button)[1]

您的代码有点像这样:

driver.get(""the-internet.herokuapp.com/javascript_alerts");
WebElement element=driver.findElement(By.xpath("(//div[@class='example']/ul/li/button)[1]"));
element.click();

答案 2 :(得分:0)

// * [@ id ='content'] / div / ul / li [1] /按钮适用于我。你使用的是什么浏览器?你是如何确认的?

答案 3 :(得分:0)

请尝试以下代码。

driver.get("https://the-internet.herokuapp.com/javascript_alerts");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.findElement(By.xpath("//button[contains(text(), 'Click for JS Alert')]")).click();
Thread.sleep(2500);
Alert alert = driver.switchTo().alert();
System.out.println(driver.switchTo().alert().getText());
alert.accept();