Mac 10.15.7 的 phantomjs,有效元素始终为 getText() 返回空字符串

phantomjs with Mac 10.15.7, valid element always returning empty string for getText()

我有 Mac OS 10.15.7 的 phamtomjs 并启动了一个网站 ( https://www.rupeevest.com/Mutual-Fund-Holdings/100477 )

在调试模式下,我可以看到带有 driver.getPageSource( ) 的页面内容以及我想要验证的值,但是当我这样做时

((PhantomJSDriver) driver).findElementById("n_o_f").getText() 这总是 returns 空字符串 " "

这是 PhantomJS 和 MAC OS 的错误吗?

PhantomJS 本身在 2017 年已经停止开发,是否有更好的无头浏览器替代品?

首先建议使用headless ChromeDriver 而不是PhantomJS .
据我所知,它更稳定,持续受到支持,并且使用得非常广泛。
实际上它是常规的,常用的 ChromeDriver 只是带有 headless 参数设置 On.
关于您的具体问题,我想您应该使用 ExpectedConditions,等待该元素的可见性,然后才获取它的文本。
像这样:

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("n_o_f")));
String yourText = driver.findElementById("n_o_f").getText();