如何使用selenium webdriver点击嵌套的锚点href标签?

时间:2015-04-02 08:10:09

标签: selenium selenium-webdriver

这是我的HTML代码:

<a href="guestProfile.do?reloadGuest=true&amp;gmp=42017073774&amp;resConf=400007053&amp;roomSeq=1&amp;rrsId=1&amp;propId=712" target="sgr" <a="" name="Y">YIKKU, TFYTUR</a>

我想点击链接名称YIKKU TFYTUR,我尝试过以下但没有任何效果 -

driver.findElement(By.partialLinkText("YIKKU, TFYTUR")).click();
driver.findElement(By.cssSelector("a[href*='Y']")).click();
谁能帮助我?

2 个答案:

答案 0 :(得分:2)

这种Href标签的唯一解决方案是找到最近的“id”元素,在我的例子中是这个 -

<table id="resSearchResultsTBL">

然后使用css选择器找到这个元素:

WebElement guest = driver.findElement(By.cssSelector("table[id='resSearchResultsTBL']"));

然后在此元素中再次找到“a href”标记的子元素:

guest.findElement(By.cssSelector("a[href*='guestProfile.do']")).click();

这对我来说非常有用。:)

答案 1 :(得分:1)

尝试 -

WebElement link = driver.findElement(By.xpath("//a[@name=\"Y\"]"));
wait.until(ExpectedConditions.elementToBeClickable(link));
link.click();

WebElement link = driver.findElement(By.xpath("//a[@target=\"sgr\"]"));
wait.until(ExpectedConditions.elementToBeClickable(link));
link.click();