Java Webdriver:通过html标记查找元素,该标记包含属于某个类的html标记
要澄清一个非常混乱的标题: 有一段页面代码如下所示(我简化了实际代码):Java Webdriver:通过html标记查找元素,该标记包含属于某个类的html标记,java,selenium,webdriver,Java,Selenium,Webdriver,要澄清一个非常混乱的标题: 有一段页面代码如下所示(我简化了实际代码): 。。。 对于您发布的HTML。下面的CSS选择器应该可以工作 div.CLASS1 > p:nth-child(2) > strong 如果需要获取包含i.CLASS2的strong标记,则可以执行以下操作 // get all p tags List<WebElement> pTags = driver.findElements(By.cssSelector("div.CLASS1 >
。。。
对于您发布的HTML。下面的CSS选择器应该可以工作
div.CLASS1 > p:nth-child(2) > strong
如果需要获取包含i.CLASS2
的strong
标记,则可以执行以下操作
// get all p tags
List<WebElement> pTags = driver.findElements(By.cssSelector("div.CLASS1 > p"));
WebElement myWebElement = null;
// iterate and find p tag that contains i.CLASS2
for (WebElement element : pTags) {
if (element.findElements(By.cssSelector("i.CLASS2")).size() == 1) {
myWebElement = element.findElement(By.cssSelector("strong"));
break;
}
}
// the data you want
System.out.println(myWebElement.getText());
//获取所有p标记
List ptag=driver.findElements(By.cssSelector(“div.CLASS1>p”);
WebElement myWebElement=null;
//迭代并查找包含i.CLASS2的p标记
for(WebElement:ptag){
if(element.findElements(By.cssSelector(“i.CLASS2”)).size()=1){
myWebElement=element.findElement(By.cssSelector(“strong”);
打破
}
}
//你想要的数据
System.out.println(myWebElement.getText());
用于您发布的HTML。下面的CSS选择器应该可以工作
div.CLASS1 > p:nth-child(2) > strong
如果需要获取包含i.CLASS2
的strong
标记,则可以执行以下操作
// get all p tags
List<WebElement> pTags = driver.findElements(By.cssSelector("div.CLASS1 > p"));
WebElement myWebElement = null;
// iterate and find p tag that contains i.CLASS2
for (WebElement element : pTags) {
if (element.findElements(By.cssSelector("i.CLASS2")).size() == 1) {
myWebElement = element.findElement(By.cssSelector("strong"));
break;
}
}
// the data you want
System.out.println(myWebElement.getText());
//获取所有p标记
List ptag=driver.findElements(By.cssSelector(“div.CLASS1>p”);
WebElement myWebElement=null;
//迭代并查找包含i.CLASS2的p标记
for(WebElement:ptag){
if(element.findElements(By.cssSelector(“i.CLASS2”)).size()=1){
myWebElement=element.findElement(By.cssSelector(“strong”);
打破
}
}
//你想要的数据
System.out.println(myWebElement.getText());
更新:我刚刚发现了另一个重要细节:包含
标记的段落标记并不总是排在第二位:有时第一个段落块不存在,因此,我正在寻找的
可能是行中的第一个…更新:我刚刚发现了另一个重要细节:包含标记的段落标记并不总是按顺序排在第二位:有时第一个段落块不存在,因此,我正在寻找的
可能是这一行中的第一个……当找到所需元素时,您应该中断:)我明白了,但感谢您在改进答案方面所做的努力:)当找到所需元素时,您应该中断:)我明白了,但感谢您在改进答案方面所做的努力:)