Selenium 和 Python:从 selenium.get_text() 返回值中去除 \n

1 投票
1 回答
1784 浏览
提问于 2025-04-16 04:46

当我在某个元素上使用selenium.get_text("foo")时,返回的值会根据我使用的浏览器不同而有所不同,这是因为每个浏览器处理换行符的方式不一样。

举个例子:

一个元素的字符串是 "hello[newline]how are you today?[newline]Very well, thank you."

当selenium从IE浏览器获取这个字符串时,它得到的是 "hello\nhow are you today?\nVery well, thank you."

而当selenium从Firefox浏览器获取这个字符串时,它得到的是 "hello\n how are you today?\n Very well, thank you."

(注意,IE把 [newline] 转换成了 '\n',而Firefox则把它转换成了 '\n ',后面多了一个空格)

有没有什么方法可以用selenium/python轻松解决这个差异呢?

我想过使用 .replace("\n ", "\n"),但这样做如果换行后本来就有一个空格的话,就会出现问题(不管出于什么原因)。

有什么好主意吗?

1 个回答

0

我最后做了一个检查,看看我用的是什么浏览器。如果是火狐浏览器,我就把字符串里的'\n '替换成'\n',然后返回这个字符串。

撰写回答