如何使用 watir 单击标签元素?
How to click Label element using watir?
我们将复选框呈现为 <label for ="">
元素。我正面临 select 它的问题。
渲染HTML代码:
<label for="copyFromCheckbox"> </label>
我尝试点击的方式:
@browser.label(:text,'copyFromCheckbox').parent.checkbox.set **// Not working**
@browser.label(:text,'copyFromCheckbox').click **//Not working**
我的最新成果
以下是html渲染的代码:
<label for="JobReport"><span class="Radiobox-txt"> Job Report (only one report that covers the whole job, view <a href="exampleJobReport.html">example report</a>) </span></label>
我试过以下方法,但都没有成功。 Messe“无法定位元素”在所有情况下都会出现。
方法一:
sleep 3
@browser.span(:text,'Job Report (only one report that covers the whole job, view').parent.click
方法二
sleep 3
@browser.span(:xpath,'/html/body/div[3]/div[4]/div/div[2]/form/div/div/div[2]/div/div[2]/div/div[2]/label/span').parent.click
方法三
@browser.span(:xpath,'/html/body/div[3]/div[4]/div/div[2]/form/div/div/div[2]/div/div[2]/div/div[2]/label/span').when_present.click
Watir 不支持 <label>
标签的 :for
属性。参见 https://github.com/watir/watir/wiki/HTML-Elements-Supported-by-Watir
@browser.label(:text,'copyFromCheckbox').click
不起作用,因为 copyFromCheckbox
不是 :text
,而是前面提到的不受支持的 :for
属性。
<label>
标签内是否有文字?
例如,
<label for='copyFromCheckbox'>Hello</label>
可以被
点击
@browser.label(:text,'Hello').click
或者,您可以找到标签的 XPath 并使用它单击。
例如,
@browser.label(:xpath,'<insert XPath here>').click
最后,我能够使用以下代码行解决此问题。它对我来说绝对没问题。
@browser.span(:text, /^Job Report/).parent.click
感谢大家分享一些可能的方法。
干杯。
雷
我们将复选框呈现为 <label for ="">
元素。我正面临 select 它的问题。
渲染HTML代码:
<label for="copyFromCheckbox"> </label>
我尝试点击的方式:
@browser.label(:text,'copyFromCheckbox').parent.checkbox.set **// Not working**
@browser.label(:text,'copyFromCheckbox').click **//Not working**
我的最新成果
以下是html渲染的代码:
<label for="JobReport"><span class="Radiobox-txt"> Job Report (only one report that covers the whole job, view <a href="exampleJobReport.html">example report</a>) </span></label>
我试过以下方法,但都没有成功。 Messe“无法定位元素”在所有情况下都会出现。
方法一:
sleep 3
@browser.span(:text,'Job Report (only one report that covers the whole job, view').parent.click
方法二
sleep 3
@browser.span(:xpath,'/html/body/div[3]/div[4]/div/div[2]/form/div/div/div[2]/div/div[2]/div/div[2]/label/span').parent.click
方法三
@browser.span(:xpath,'/html/body/div[3]/div[4]/div/div[2]/form/div/div/div[2]/div/div[2]/div/div[2]/label/span').when_present.click
Watir 不支持 <label>
标签的 :for
属性。参见 https://github.com/watir/watir/wiki/HTML-Elements-Supported-by-Watir
@browser.label(:text,'copyFromCheckbox').click
不起作用,因为 copyFromCheckbox
不是 :text
,而是前面提到的不受支持的 :for
属性。
<label>
标签内是否有文字?
例如,
<label for='copyFromCheckbox'>Hello</label>
可以被
点击@browser.label(:text,'Hello').click
或者,您可以找到标签的 XPath 并使用它单击。
例如,
@browser.label(:xpath,'<insert XPath here>').click
最后,我能够使用以下代码行解决此问题。它对我来说绝对没问题。
@browser.span(:text, /^Job Report/).parent.click
感谢大家分享一些可能的方法。
干杯。 雷