如何阻止Selenium修剪字符串末尾的空格?

guykilcj  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(195)

如何阻止Selenium修剪字符串末尾的空格?

空间在应用程序中是必要的,所以我想确保空间保持不变,以便我可以Assert正确的间距正在发生!
这就是HTML本身的样子:

<span>Response: </span>

字符串
我通过编辑跨度来删除空间,以绝对肯定地确认空间显示在页面上,它确实删除了这个元素和结果之间的空间。
我应该做些什么来阻止空间被修剪?
目前使用Selenium 4.16.0和Python 3.12.1
以下是我目前正在做的事情:

response_text = driver.find_element(By.TAG_NAME, "span").text
assert response_text == "Response: ", print("Endpoint 1 should have returned 'Response: ' but returned '" + str(response_text) + "'")


下面是我的测试的相关输出:

Expected :'Response: '
Actual   :'Response:'

xzv2uavs

xzv2uavs1#

我已经回答了这个问题,看起来这个问题已经被删除了。
我从你的回答中理解到的是:如果任何文本的末尾有空格,那么它就会被修剪。(我知道不是所有的空格都会被修剪,因为我确信这不会发生)。这是html标签的默认行为,即如果在任何标签的末尾发现任何空格,它会认为自己是不需要的空格。下面应该可以解决这个问题。

response_text = driver.find_element(By.TAG_NAME, "span").text
response_text = f'{response_text} '
assert response_text == "Response: "

字符串
使用f-string或string literal来更清晰。这只不过是用f作为字符串的前缀。(在单引号或双引号之间的字符串)如果要在字符串中添加任何对象(变量,要调用的函数,数字等),则需要将其放置在花括号内。在上面的代码中,您将在花括号后找到一个空格作为字符串的一部分。

相关问题