【发布时间】:2021-05-21 07:13:43
【问题描述】:
我想从 selenium 中 ::before ::after 之间的文本中获取值。我想通过xpath是不可能的,我可以使用什么JSexecutor代码?
我想获得的价值:
【问题讨论】:
标签: java selenium-webdriver xpath css-selectors webdriverwait
我想从 selenium 中 ::before ::after 之间的文本中获取值。我想通过xpath是不可能的,我可以使用什么JSexecutor代码?
我想获得的价值:
【问题讨论】:
标签: java selenium-webdriver xpath css-selectors webdriverwait
::before 和 ::after 是 css 并且不是可打印的文本。因此,要打印文本 Widget,您可以使用以下任一 Locator Strategies:
使用cssSelector:
System.out.println(wd.findElement(By.cssSelector("div.linkbox.margin-bottom-20 > h1.heading")).getText());
使用xpath:
System.out.println(wd.findElement(By.xpath("//div[@class='linkbox margin-bottom-20']/h1[@class='heading']")).getText());
理想情况下,要提取文本Some Text,因为元素是动态元素,您必须为visibilityOfElementLocated() 诱导WebDriverWait,您可以使用以下任一Locator Strategies:
使用cssSelector:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.linkbox.margin-bottom-20 > h1.heading"))).getText());
使用xpath:
System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='linkbox margin-bottom-20']/h1[@class='heading']"))).getText());
【讨论】: