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改变了它,现在它的工作非常好。
请不要生我的气,因为我正在审查我从论坛上提出的问题,并发现了这个问题。 我得到了问题的解决方案,这就是为什么我要分享这个。