Selenium 和 Python:从 selenium.get_text() 返回值中去除 \n
当我在某个元素上使用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',然后返回这个字符串。