无法单击按钮

时间:2018-05-11 14:05:14

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

<button type="button" class="btn rd-button btn-ng-bs-animated clearfix" ng-disabled="false" ng-click="submitApplication(); $event.preventDefault();" is-submitting="isAppSubmitting" options="optionsSubmitBtn">
    <div class="icons pull-left">
        <span class="show"></span>
        <span class="show"></span>
        <span class="show"></span>
    </div>
    <div class="text ">submit your application</div>
</button>

我想从以下网址点击带有提交申请的文本按钮:

https://www.randstadusa.com/jobs/search/apply/4/620370/

3 个答案:

答案 0 :(得分:1)

根据您共享的HTML,点击按钮,文字为提交您的应用,您可以使用以下任一定位策略

  • css_selector

    driver.find_element_by_css_selector("button.btn.rd-button.btn-ng-bs-animated.clearfix[options='optionsSubmitBtn'] div.text").click()
    
  • xpath

    driver.find_element_by_xpath("//button[@class='btn rd-button btn-ng-bs-animated clearfix' and @options='optionsSubmitBtn']//div[@class='text']").click()
    

答案 1 :(得分:1)

from selenium.webdriver.common.by import By
driver.find_element(By.XPATH, "//div[@ng-hide = 'openApply']//button[@class = 'btn rd-button   btn-ng-bs-animated clearfix']//div[@class = 'text ']").click()

在开头添加了额外的约束,因为有两个按钮具有相同的类但有一个是可点击的

编辑: 添加了By方法。我喜欢它,因为您可以将find_elements与任何类型的属性/选择器一起使用,而不是记住每个单独的方法。

答案 2 :(得分:0)

隐藏按钮

driver.find_element_by_css_selector("#ctl07_ctl03_ApplyFormDiv > application > div > div > div > div > div:nth-child(7) > div > div > div > div > div:nth-child(2) > button > div.text").click()

此代码有效