html - Watir 找不到自动填充的 div 元素
问题描述
以下是在文本字段中键入“Abernathy and Sons”文本以生成自动填充列表后的元素
<div class="col-md-10 col-sm-10"> ==$0
"Abernathy and Sons "
<p>
<i class="fa fa-map-maker"></i>
" atlanta, GA"
</p>
我试过元素
{browser.div(text: "Abernathy and Sons ")}
给出错误:
30 秒后超时,等待定位 #/"Abernathy and Sons "/, :tag_name=>"div"}> (Watir::Exception::UnknownObjectException)
解决方案
这里的问题是,
b.div(text: "someText")
将在 selenium 中按如下方式形成 xpath
driver.find_element(xpath: "//div[normalize-space(.)='someText']")
因此normalize-space()
,xpath 中的方法将在删除尾随和前导空格后比较字符串。因此,如果您在字符串之后或之前添加一个空格,则会引发无法找到元素的错误。因此,如果我编写打击代码,那么您将遇到相同的错误。
b.div(text: "someText ") #look at the space after someText.
因此,删除字符串前后的空格它将完美地工作。
推荐阅读
- artifactory - 如何使用 API 调用检查 Artifactory 中的“允许匿名访问”
- c# - Xamarin 滑块问题和恢复应用程序状态
- python - 更改 Kivy 进度条的颜色和背景
- javascript - 在 Vue 中使用 nanoid 失败并出现“缺少文件扩展名 cjs”
- r - dplyr::mutate 除一个以外的所有数值变量?
- firebase - Flutter Web Google 登录无法在移动浏览器上运行
- powerapps - 向多个实体添加项目是相关的
- android - Android Kotlin 按钮监听器
- azure-data-explorer - 在 KQL 用户函数中使用 column_ifexists
- python - 按字符串的前几个字符对熊猫字符串列进行排序