繁体   English   中英

Selenium - 如何从元素中获取文本但保留子元素源

[英]Selenium - How to get the text from an element but retaining child element source

使用 Python 3 和 Selenium 4.8.0。

假设我有

<p>
    I love <i>pizza</i>.
</p>

做完了

elem = driver.find_element(By.TAG_NAME, "p")

elem.text将包含“我喜欢披萨”。

然而,我想要的是以某种方式保留斜体文本的信息,以便我可以自动生成一个.tex文件,其中包含,例如

I love \textit{pizza}.

在简单的情况下,一种选择是找到子<i>元素并使用字符串替换方法,但是如果子文本包含在elem的其他地方,这会导致明显的问题,例如<p>I love <i>love</i> pizza.</p> .

我该如何解决这个问题?

."更新:最终是 LaTeX(就像问题中的那个),但我真正需要帮助的是进入一些中间步骤,例如 ["I love", "pizza", ".]] 我知道它在两者之间交替斜体与否,甚至只是将文本返回为“我喜欢”之类的东西。 会很好。

要提取文本I love <i>pizza</i>而不是文本属性,您需要innerHTML如下:

print(driver.find_element(By.TAG_NAME, "p").get_attribute("innerHTML"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM