这是我的HTML代码:
<a href="guestProfile.do?reloadGuest=true&gmp=42017073774&resConf=400007053&roomSeq=1&rrsId=1&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();
谁能帮助我?
答案 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();