Cucumber 找不到页面 ID - Ruby、Capybara、Selenium
Cucumber won't find page ID - Ruby, Capybara, Selenium
我在这里遇到了困难。我试图让 Cucumber 在页面上找到这个元素 ID。首先确认它存在,其次点击它。
<a id="ga_Vehicle alerts_Vehicle tax: Expired" href="/vehicles/fleetRecords?dol.expired=true&filter=expired" class="alert-3-row" title="Vehicles with expired tax"></a>.
ID 似乎嵌入到超链接中。
当我尝试时
Then /^I can verify that expired hyperlink is present within the alert$/ do
find_by_id "a_Vehicle alerts_Vehicle tax: Expired"
end
找不到该元素。
我哪里错了?
干杯
根据您的 HTML 代码段,href
属性的值为 id="ga_Vehicle alerts_Vehicle tax: Expired"
。您的定位器略有不同:"a_Vehicle alerts_Vehicle tax: Expired"
.
您的 ID 中不能有空格。来自这里:http://www.w3.org/TR/REC-html40/types.html#h-6.2
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
空格不是 ID 中的有效字符,会彻底混淆任何 dom 解析器、jquery、CSS、selenium 等。您应该从 ID 中删除空格,并且如果您确实需要 ID 中的那么多信息,请将它们替换为下划线。如果您使用 ID 来存储有关 HTML 节点的元数据,我建议您不要这样做。
您可能想要的是将 a_Vehicle 和 alerts_Vehicle 之类的内容添加为 类。
我在这里遇到了困难。我试图让 Cucumber 在页面上找到这个元素 ID。首先确认它存在,其次点击它。
<a id="ga_Vehicle alerts_Vehicle tax: Expired" href="/vehicles/fleetRecords?dol.expired=true&filter=expired" class="alert-3-row" title="Vehicles with expired tax"></a>.
ID 似乎嵌入到超链接中。
当我尝试时
Then /^I can verify that expired hyperlink is present within the alert$/ do
find_by_id "a_Vehicle alerts_Vehicle tax: Expired"
end
找不到该元素。
我哪里错了?
干杯
根据您的 HTML 代码段,href
属性的值为 id="ga_Vehicle alerts_Vehicle tax: Expired"
。您的定位器略有不同:"a_Vehicle alerts_Vehicle tax: Expired"
.
您的 ID 中不能有空格。来自这里:http://www.w3.org/TR/REC-html40/types.html#h-6.2
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
空格不是 ID 中的有效字符,会彻底混淆任何 dom 解析器、jquery、CSS、selenium 等。您应该从 ID 中删除空格,并且如果您确实需要 ID 中的那么多信息,请将它们替换为下划线。如果您使用 ID 来存储有关 HTML 节点的元数据,我建议您不要这样做。
您可能想要的是将 a_Vehicle 和 alerts_Vehicle 之类的内容添加为 类。