gpt4 book ai didi

python - 如何获取网页中的特定框架并检索其内容

转载 作者:行者123 更新时间:2023-12-01 05:46:53 29 4
gpt4 key购买 nike

我想访问以下网址的翻译结果

http://translate.google.com/translate?hl=en&sl=en&tl=ar&u=http%3A%2F%2Fwww.saltycrane.com%2Fblog%2F2008%2F10%2Fhow-escape-percent-encode-url-python%2F

翻译显示在两个框架的底部内容框架中。我有兴趣仅检索底部内容框架以获取翻译

Python 的 selenium 允许我们通过 Web 自动化获取页面内容:

browser.get('http://translate.google.com/#en/ar/'+hurl)

所需的框架是 iframe :

<div id="contentframe" style="top:160px"><iframe   src="/translate_p?hl=en&am... name=c frameborder="0" style="height:100%;width:100%;position:absolute;top:0px;bottom:0px;"></div></iframe>

但是如何使用 Web 自动化获取底部内容框架元素来检索翻译?

了解到PyQuery还允许我们使用JQuery形式浏览内容

更新:

一个答案提到 Selenium 提供了一种可以做到这一点的方法。

frame = browser.find_element_by_tag_name('iframe')
browser.switch_to_frame(frame)
# get page source
browser.page_source

但在上面的例子中它不起作用。它返回一个空页面。

最佳答案

你可以在这里使用driver.switchTo.frame(1);,frame()中的数字1是网页中存在的框架的索引。由于您的要求是切换到第二帧并且索引从 0 开始,因此您应该使用 driver.switchTo.frame(1);

但是上面的代码是用Java编写的。在 Python 中,您可以使用以下行。

driver.switch_to_frame(1);

更新

 driver.get("http://translate.google.com/translate?hl=en&sl=en&tl=ar&u=http://www.saltycrane.com/blog/2008/10/how-escape-percent-encode-url-python/");
driver.switchTo().frame(0);
System.out.println(driver.findElement(By.xpath("/html/body/div/div/div[3]/h1/span/a")).getText());

输出: SaltyCrane ?????????

我刚刚尝试打印 iframe 中存在的标题名称 SaltCrane。它对我有用,除了? SaltCrane 之后的符号。由于它是阿拉伯语,因此无法对其进行解码。

上面的代码是用Java编写的。同样的逻辑也应该适用于 Python。

关于python - 如何获取网页中的特定框架并检索其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785920/

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