我需要在文章中获取所有p个标签(其中的文本(。
- 网站代码区截图
进入此(Try{…}之后可以自由编辑(:
var d2 = ""; Try { d2 = *(driver.findElements(By.tagName("p"))).head.getText }
您可以使用以下定位策略之一:
-
使用xpath:
var d2 = ""; Try { d2 = *(driver.findElements(By.xpath("//article[@class='small single']//p"))).head.getText }
-
使用cssSelector:
var d2 = ""; Try { d2 = *(driver.findElements(By.cssSelector("article.small.single p"))).head.getText }
尽量避免Scala中的可变性。使用未检测到的Selenium的答案中的选择器:
import scala.collection.JavaConverters
val javaData = driver.findElements(By.cssSelector("article.small.single p"))
val data: Seq[String] = JavaConverters.asScalaBufferConverter(javaData)
.asScala
.map(element => element.getText)
driver.findElements
返回一个Java List,因此我们需要将其转换为Scala集合,然后才能对其使用.map