如何编写此查找元素语句以在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]
答案 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')