从https://www.deepl.com/translator#en/fr/Hello%2C%20how%20are%20you%20today%3F
我们看到:
但在代码中,翻译文本“你好,评论allez vous aujourd'hui?”不会出现在页面源代码的任何位置,框架的代码如下所示:
<textarea class="lmt__textarea lmt__target_textarea lmt__textarea_base_style"
data-gramm_editor="false" tabindex="110" dl-test="translator-target-input"
lang="fr-FR" style="height: 300px;"></textarea>
无论我如何通过BeautifulSoup阅读文本或源代码,在textarea
框架中的翻译都无法提取
import requests
from bs4 import BeautifulSoup
response = requests.get('https://www.deepl.com/translator#en/fr/Hello%2C%20how%20are%20you%20today%3F')
bsoup = BeautifulSoup(response.content.decode('utf8'))
bsoup.find_all('textarea')
如何从https://www.deepl.com/translator页面的任何部分提取翻译?
要从
textarea
字段中提取文本,请使用.get_attribute('value')
这里我添加了Selenium使用
WebDriverWait
和.visibility_of_element_located
方法等待元素的方式但有时,当一个元素可用时(在本例中),它不能保证文本已经存在,所以添加一个循环直到
text != ''
希望这有帮助
要提取文本
Bonjour, comment allez-vous aujourd'hui ?
,需要为visibility_of_element_located()
和get_attribute("value")
归纳WebDriverWait。您可以使用以下任一Locator Strategies:使用
CSS_SELECTOR
和get_attribute("value")
:使用
XPATH
和get_attribute("value")
:控制台输出:
注意:您必须添加以下导入:
这源于在以下情况下使用JSON RPC的外部API的结果:
使用一些参数,例如要翻译的文本和目标语言
在python中使用python-requests的示例如下:
Try this on repl.it
相关问题 更多 >
编程相关推荐