在属性值中查找具有特殊字符的元素
Find element with special characters in attribute value
我有以下 html:
<textarea class="input-validation-error form-control" cols="20"
data-val="true" data-val-regex="Invalid input"
data-val-regex-pattern="([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\S\r\n]*\r\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\s]*"
data-val-required="Please enter valid values"
id="val" name="values" rows="9"></textarea>
我正在尝试断言 element
以进行验证:
expect(page).to have_css(
"textarea[data-val-regex-pattern=([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\S\r\n]*\r\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\s]*]")
但我一直收到 invalid selector
错误。我试过转义特殊字符,也将整个值用单引号和双引号引起来。这应该断言什么?
您在这里遇到的问题是您必须对 ruby 字符串和 CSS 字符串进行转义。导致您出现问题的角色是 \ 最终需要双重转义的角色,成为 \\\\
expect(page).to have_css('textarea[data-val-regex-pattern="([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\\S\\r\\n]*\\r\\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\\s]*"]')
尝试使用:
expect(page).to have_css("textarea[data-val-regex-pattern^='([a-zA-Z]'])
我有以下 html:
<textarea class="input-validation-error form-control" cols="20"
data-val="true" data-val-regex="Invalid input"
data-val-regex-pattern="([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\S\r\n]*\r\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\s]*"
data-val-required="Please enter valid values"
id="val" name="values" rows="9"></textarea>
我正在尝试断言 element
以进行验证:
expect(page).to have_css(
"textarea[data-val-regex-pattern=([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\S\r\n]*\r\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\s]*]")
但我一直收到 invalid selector
错误。我试过转义特殊字符,也将整个值用单引号和双引号引起来。这应该断言什么?
您在这里遇到的问题是您必须对 ruby 字符串和 CSS 字符串进行转义。导致您出现问题的角色是 \ 最终需要双重转义的角色,成为 \\\\
expect(page).to have_css('textarea[data-val-regex-pattern="([a-zA-Z][0-9]{11}[a-zA-Z0-9][^\\S\\r\\n]*\\r\\n)*[a-zA-Z][0-9]{11}[a-zA-Z0-9][\\s]*"]')
尝试使用:
expect(page).to have_css("textarea[data-val-regex-pattern^='([a-zA-Z]'])