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