Python硒查找复选框

问题描述 投票:0回答:1

我正在尝试查找复选框,然后单击它。我尝试使用:

driver.find_element_by_xpath(("//*[contains(text(), '2+ interchanges')]")).click()

driver.find_element_by_class_name('BpkCheckbox_bpk-checkbox__label__1vrLS BpkCheckbox_bpk-checkbox__label--small__16XBT')

driver.find_element_by_name('2+ interchanges').click()

但没有运气,总是会出错:

selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:

您能否给我一些建议,我应该如何找到此复选框?

谢谢!

最佳

代码看起来像:

<div class="Filter_verticallySpaced__1Sm6F Filter_horizontallySpaced__RwfGp FiltersCheckboxes_colourOnHover__erAw_">
 <label class="BpkCheckbox_bpk-checkbox__2yTOQ FiltersCheckboxes_checkboxLine__7IQLY">
  <input aria-invalid="false" aria-label="2+ interchanges" checked="" class="BpkCheckbox_bpk-checkbox__input__2qMb7" name="twoPlusStops" type="checkbox"/>
  <svg class="BpkCheckbox_bpk-checkbox__icon__1KuPa" height="18" style="width: 0.75rem; height: 0.75rem;" viewbox="0 0 24 24" width="18" xmlns="http://www.w3.org/2000/svg">
   <path d="M9.4 20c-.5 0-.9-.2-1.3-.5l-5.8-5.1c-.4-.4-.5-1-.1-1.4l1.3-1.5c.4-.4 1-.5 1.4-.1l4 3.5c.2.1.4.1.6 0l9.2-10.5c.4-.4 1-.5 1.4-.1l1.5 1.3c.4.4.5 1 .1 1.4L10.9 19.3c-.4.5-.9.7-1.5.7z">
   </path>
  </svg>
  <span aria-hidden="true" class="BpkCheckbox_bpk-checkbox__label__1vrLS BpkCheckbox_bpk-checkbox__label--small__16XBT">
   2+ interchanges
  </span>
 </label>
 <span class="BpkText_bpk-text__2NHsO BpkText_bpk-text--sm__345aT FiltersCheckboxes_subText__3aG9- FiltersCheckboxes_block__1ZTpQ FiltersCheckboxes_checkboxIndent__2c49O">
  2 735 $
 </span>
</div>
python selenium-webdriver
1个回答
0
投票
使用此

driver.find_element_by_class_name('BpkCheckbox_bpk-checkbox__label__1vrLS BpkCheckbox_bpk-checkbox__label--small__16XBT')

您选择了两个类名作为一个(每个类名之间都有一个空格)。试试:

driver.find_element_by_class_name('BpkCheckbox_bpk-checkbox__label__1vrLS')

© www.soinside.com 2019 - 2024. All rights reserved.