Как нажать на флажок? даже скрытая ария = правда? - PullRequest
0 голосов
/ 15 мая 2018

Это дает мне ошибку Элемента не видно. Ниже я упомянул код JavaScript. Я хочу нажать на aMRI.

Я использую питон селен:

driver.find_element_by_xpath("//label[@for = 'aMRI' and @class = 'checkbox-label']//span[@class='checkbox']//input[@id='aMRI']").click()

HTML:

<div class="col-md-8">
    <label for="aMRI" class="checkbox-label">
        <span class="checkbox">
            <input type="checkbox" id="aMRI">
            <i class="fa fa-check" aria-hidden="true"></i>
        </span> MRI
    </label>
    <label for="aCase1" class="checkbox-label">
        <span class="checkbox">
            <input type="checkbox" id="aCase1">
            <i class="fa fa-check" aria-hidden="true"></i>
        </span> Case1
    </label>
    <label for="aDistibution" class="checkbox-label">
        <span class="checkbox">
            <input type="checkbox" id="aDistibution">
            <i class="fa fa-check" aria-hidden="true"></i>
        </span> Distibution
    </label>
    <label for="aBandwidth" class="checkbox-label hide">
        <span class="checkbox">
            <input type="checkbox" id="aBandwidth">
            <i class="fa fa-check" aria-hidden="true"></i>
        </span> Bandwidth
    </label>
</div>

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

попробуйте код :

element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "aMRI"))  
element.click()
0 голосов
/ 15 мая 2018

В соответствии с HTML , который вы указали, нажмите на флажок , относящийся к <label> с текстом MRI , вы можете использовать следующую строкукода:

driver.find_element_by_xpath("//label[@for='aMRI']").click()
0 голосов
/ 15 мая 2018

Элемент должен отображаться на экране. Попробуйте прокрутить страницу и нажмите

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
...