gpt4 book ai didi

javascript - 带有 python 和 beatifulsoup4 的 selelenium 是否允许像 jsoup 中那样显式地从 DOM 加载隐藏元素?

转载 作者:行者123 更新时间:2023-12-03 07:29:49 26 4
gpt4 key购买 nike

我正在尝试使用隐藏在 DOM 中的元素,并使用 Selenium WebDriver 和 beautifulsoup 来处理它们。我尝试仅使用简单的 sleep 计时器和预期条件:

WebDriverWait(chrome, 10).until(expected_conditions.presence_of_element_located((By.CLASS_NAME, "mgm")))

但是这些选项都不起作用。

此堆栈是否允许从隐藏元素加载值,如下面的代码所示?

String url = "https://www.facebook.com/cedarstreettimes?fref=ts";
String ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.33 (KHTML, like Gecko) Chrome/27.0.1438.7 Safari/537.33";
Document doc = Jsoup.connect(url).userAgent(ua).timeout(10*1000).get();

// move the hidden commented out html into the DOM proper:
Elements hiddenElements = doc.select("code.hidden_elem");
for (Element hidden: hiddenElements) {
for (Node child: hidden.childNodesCopy()) {
if (child instanceof Comment) {
hidden.append(((Comment) child).getData()); // comment data parsed as html
}
}
}

Elements articles = doc.select("div[role=article]");
for (Element article: articles) {
if (article.select("span.userContent").size() > 0) {
String text = article.select("span.userContent").text();
String imgUrl = article.select("div.photo img").attr("abs:src");
System.out.println(String.format("%s\n%s\n\n", text,imgUrl));
}
}

最佳答案

BeautifulSoup 的 Angular 来看,不存在“隐藏”元素 - 它不是浏览器,如果文档中存在某个元素,您就可以找到它。

selenium 还会定位隐藏元素,并且 presence_of_element_ located 预期条件应适合此处。您将无法与隐藏元素交互,但能够提取其中的信息。

关于javascript - 带有 python 和 beatifulsoup4 的 selelenium 是否允许像 jsoup 中那样显式地从 DOM 加载隐藏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35849613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com