如何使用selenium在浏览器中而不是在视图页面中获取页面源代码



我知道driver.getPageSource()会将网页作为Html获取,但我遇到的问题是,我正在测试的网站会将数据放在像{{OriginDescription}}这样的括号中,可能会使用一些js框架来获取数据?无论如何,当我在浏览器中检查元素时,我可以查看数据,但在浏览器中查看页面源也只显示括号,而不显示数据。那么,当我在浏览器中查看(检查(网页时,如何获得它的原样呢?

以下是我正在测试的网站,确切地说:

driver.get("https://www.united.com/ual/en/US/flight-search/book-a-flight/results/rev?f=Miami,+FL,+US+(MIA+-+All+Airports)&t=IAH&d=2020-05-02&r=2020-05-16&sc=7,7&px=1&taxng=1&newHP=True&idx=1");
String pageSource = driver.getPageSource();

我正在使用java和chromedriver。

尝试先等待元素加载,可以使用:

driver.get("url");
WebDriverWait wait = new WebDriverWait(driver, TIME_IN_SECONDS);
wait.until(ExpectedConditions.elementToBeClickable(By.className("element-class-name")));
String page = driver.getPageSource();

这将等待页面完成加载并检查元素是否可单击。或者,您可以等到元素可见:

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("element-id")));

最新更新