<a id="ctl00_cphBody_gvMessageList_ctl02_hlnkMessageSubject" href="Message.aspx?id=3428&member=">DDM IT QUIZ 2017 – Bhubaneswar Edition</a>
<a id="ctl00_cphBody_gvMessageList_ctl03_hlnkMessageSubject" href="Message.aspx?id=3427&member=">[Paybooks] Tax/investment declaration proof FY 2016-17</a>
<a id="ctl00_cphBody_gvMessageList_ctl04_hlnkMessageSubject" href="Message.aspx?id=3426&member=">Reimbursement clarification</a>
出:
DDM IT QUIZ 2017 – Bhubaneswar Edition
[Paybooks] Tax/investment declaration proof FY 2016-17
Reimbursement clarification
如何获取这三个元素的相对xpath,以便我可以获得上述文本。
答案 0 :(得分:0)
xpath = '//a/text()'
这将返回文本列表
答案 1 :(得分:0)
完整的答案是:
获取相同类型的所有a
元素,在这种情况下,id
包含ctl00
// a [contains(@ id,'ctl00')]
您可以添加更多限制,例如添加href
限制,以在其值中包含某个字符串
// a [contains(@ id,'ctl00')] [contains(@href,'Message')]
获取所有a
元素就足以使用
//一个
为了获取文本,您可以使用方法从框架中获取文本或将/text()
添加到xpath表达式。
答案 2 :(得分:0)
您可以使用span类[relative xpath],如下例所示,以及鼠标操作和键盘操作。 看看这个,让我知道!
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
public class SnapD {
public static void main(String args[]){
WebDriver d=new FirefoxDriver();
d.get("https://www.snapdeal.com/");
d.manage().window().maximize();
d.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
System.out.println("Hello Google...");
System.out.println("Hello Snapdeal...");
WebElement wb= d.findElement(By.xpath("//span[text()='Electronics']"));
Actions act=new Actions(d);
act.moveToElement(wb);
act.perform();
System.out.println("Mouse hovered");
WebElement wb1=d.findElement(By.xpath("//span[text()='DTH Services']"));
act.contextClick(wb1).perform();
act.sendKeys(Keys.ARROW_DOWN,Keys.ENTER).perform();
act.sendKeys(Keys.chord(Keys.CONTROL,Keys.TAB)).perform();
}
}