如何修复'模糊'硒的错误?

时间:2018-02-01 09:53:19

标签: python html selenium

在非公开网页上,我有以下HTML内容:

padding-right: .5em;

显示如下按钮:

enter image description here

我想点击那个按钮,使用selenium 3.8.0中的以下代码:

<span click.delegate="placeCurrentInjection()" style="display:flex" class="au-target" au-target-id="611"> 
<ui-button glyph="glyph-iclamp" small="" primary="" disabled.bind="currentPlaceDisabled" 
style="width: auto; max-width: 20em;" class="au-target ui-small ui-button primary" au-target-id="612" role="button" data-value="">
    <span class="ui-indicator"><!--anchor--></span>
    <ui-glyph glyph.bind="glyph" class="au-target ui-icon ui-btn-icon glyph-iclamp" au-target-id="36"><!--view-->
    <svg>
      <use tabindex="-1" x="0" y="0" class="au-target" 
      au-target-id="11" xlink:href="#glyph-iclamp"></use>
    </svg>
    <!--anchor--></ui-glyph><!--anchor-->
    <!--anchor-->
    <span class="ui-label">Place current injection<!--slot--></span>
    <!--anchor--></ui-button> </span>

但是,我收到以下错误:

elem = WebDriverWait(self.webdriver, time_sec).\
                until(EC.element_to_be_clickable((By.XPATH, "//span[contains(text(), 'Place current injection')]")))
elem.click()

尽管实际文本没有以任何方式模糊,我可以点击它 - 如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您找到的元素只是按钮标签上的文字。您需要单击按钮本身,这实际上是您收到的错误消息中的元素。该按钮是父元素,因此您可以通过移动到父

来使用文本来定位它
(By.XPATH, "//span[contains(text(), 'Place current injection')]/..")