watir webdriver无法选择复选框输入元素

时间:2016-08-09 23:43:40

标签: checkbox webdriver watir

如何编写此查找元素语句以在Watir Webdriver中运行?

driver.find_element(:xpath, "//input[contains(@id,'sv')]")

CSS Selector:   #sincro_old > section:nth-child(1) > section:nth-child(1) > div:nth-child(2) > nav:nth-child(1) > fieldset:nth-child(3) > section:nth-child(2) > ul:nth-child(1) > li:nth-child(23) > input:nth-child(1)

请,任何建议都非常感谢。

尝试识别能够选中复选框的元素。

REF:" watir webdriver无法选择复选框输入元素"

<li class="langlist-item">
        <input type="checkbox" id="sv" data-js-id-lang="27" class="form-checkbox form-checkbox--inline">
        <label for="sv" class="langlist-label" title="Svenska">
        <svg class="icon langlist-icon icon--inline icon--xs" role="img">
            <use xlink:href="https://www.bigbuy.eu/public/img/icons/svg-defs.svg#icon-sv"/>
        </svg>
        Svenska    </label>
</li>[enter image description here][1]

1 个答案:

答案 0 :(得分:1)

driver.find_element(:xpath, "//input[contains(@id,'sv')]")的确切等效值为:

browser.element(:xpath, "//input[contains(@id,'sv')]")

等效但更像Watir的语法会使用带有正则表达式的:id定位器(用于部分文本匹配):

browser.input(id: /sv/)

鉴于元素是一个复选框,并且id看起来不是动态的,这样做会更有意义:

browser.checkbox(id: 'sv')