webdriver无法单击firefox中的超链接

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窗口,它也可以做第一步,把我带到谷歌主页,但之后没有任何事情发生,我没有得到任何运行时错误或任何exception的日食。 不知道webdriver发生了什么。 我正面临一个问题,我已经在stakwave上发布了一个程序,所以如果你可以请看看这个链接 – 为什么我的测试是抛出exception – 无法在webdriver中找到元素?

请尝试以下。 它应该工作

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

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

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

我已经测试了下面的代码,点击谷歌页面上的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(); 

这应该工作,

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

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

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

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