webdriver无法单击firefox中的超链接

时间:2014-01-09 11:16:12

标签: java eclipse firefox selenium selenium-webdriver

package testproject;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;


public class WeblinkTest {

    public static void main(String[] args) throws InterruptedException {
    // Creating a fierfox driver/window
    WebDriver driver= new FirefoxDriver();
    //Assigning address of the webpage which you want to check
    driver.get("https://www.google.co.in/");
    Thread.sleep(2000);
    //Creating and Identifing--By.xpath the element on which you want testing
    WebElement wb1= driver.findElement(By.xpath(".//*[@id='gb']/div[1]/div[1]/div[1]/div[2]"));
    wb1.click();
    Thread.sleep(2000);
    }

}

今天我正在尝试测试Google主页(www.google.co.in)上提供的Gmail链接。我能够启动一个fierfox窗口,它也可以做第一步,它带我到谷歌主页,但之后没有任何事情发生,我没有得到任何运行时错误或任何异常的日食。不知道webdriver发生了什么。 我正面临着我已经在stakwave上发布的另一个程序的问题,所以如果你可以请看一下这个链接 - Why my test is throwing Exception-Unable to locate element in webdriver?

6 个答案:

答案 0 :(得分:1)

请在下面尝试。它应该工作

List<WebElement> elements = driver.findElement(By.LinkText("Gmail"))
elements.get(0).click().

答案 1 :(得分:0)

在驱动程序初始化后尝试使用implimentig隐式等待。通过添加下面的行 driver.manage()。timeouts()。implicitlyWait(50,TimeUnit.SECONDS);

答案 2 :(得分:0)

代码中的XPATH是DIV元素,但您想点击ANCHOR Gmail,请更新ANCHOR的xpath并点击它。

答案 3 :(得分:0)

我已经测试了下面的代码,点击谷歌页面上的GMAIL链接,如果你的问题已经解决,那么选择作为答案

WebDriver driver= new FirefoxDriver();
driver.get("https://www.google.co.in/");
WebElement wb1= driver.findElement(By.xpath(".//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a"));
wb1.click();

答案 4 :(得分:0)

这应该有效,

new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Gmail"))).click();

答案 5 :(得分:0)

我在Jan发布了这个问题,说网络驱动程序无法点击超链接,刚才我得到了解决方案。 实际上超链接的xpath不准确。 我用过这个xpath-        .//*[@id='gb']/div[1]/div[1]/div[1]/div[2] 这是定位徽标而不是按钮。

今天我改变了它       .//*[@id='gb']/div[1]/div[1]/div[1]/div[2]/a 现在它的工作非常好。

请不要生我的气,因为我正在查看我从论坛上提出的问题,并发现了这个问题。我得到了问题的解决方案,这就是为什么我要分享这个。