【问题标题】:How to locate the button using Selenium如何使用 Selenium 定位按钮
【发布时间】:2019-09-01 10:29:58
【问题描述】:

我试图找到这段代码

<div class="ads-form-bottom__submit">
    <button type="submit" class="ads-form-bottom__publish button button-orange" title="Enviar anúncio"> Enviar anúncio</button>
</div>

使用 XPath

//div[class='ads-form-bottom__submit'][2]/button/following-sibling::div[1]

//div[@class='ads-form-bottom__submit']/following-sibling::button

但它不起作用。

【问题讨论】:

    标签: html selenium-webdriver xpath css-selectors webdriver


    【解决方案1】:

    似乎没有理由使用following-sibling::

    试试:

    //div[contains(@class,'ads-form-bottom__submit')]/button[contains(@class,'ads-form-bottom__publish')]
    

    【讨论】:

      【解决方案2】:

      迁移到 $(By.id("") 可以缓解很多 Xpath 问题

      【讨论】:

      • 如果html代码中没有ID,By.id有什么帮助?
      • 它没有,但它使故障排除更容易
      【解决方案3】:

      要找到文本为 Enviar anúncio 的按钮,您可以使用以下任一Locator Strategies

      • 使用CSS_SELECTOR

        div.ads-form-bottom__submit>button.ads-form-bottom__publish.button.button-orange[title='Enviar anúncio']
        
      • 使用XPATH

        //div[@class='ads-form-bottom__submit']/button[@class='ads-form-bottom__publish button button-orange' and @title='Enviar anúncio']
        

      【讨论】:

        【解决方案4】:

        您的两个 xpath 都不正确。 第一个缺少“@”,而第二个“按钮”不是兄弟,而是一个孩子。

        使用这个

            //button[contains(text(), 'Enviar anúncio')]
        

        【讨论】:

          猜你喜欢
          • 2019-08-31
          • 1970-01-01
          • 1970-01-01
          • 2020-10-17
          • 1970-01-01
          • 1970-01-01
          • 2019-08-02
          • 1970-01-01
          • 2021-10-13
          相关资源
          最近更新 更多