Установите флажок, используя Python и Selenuim - PullRequest
0 голосов
/ 11 апреля 2020

Было бы неплохо, если бы кто-то знал, как установить флажок с помощью Selenium с Python.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

no_class = browser.find_element(By.XPATH, "//div[@id='icon-literary-collections']/following-sibling::a[1]")
no_class.click

, и это будет HTML Part:

<div class="a-checkbox" style="">
<label for="checkbox-non--classifiable" style="">
<input id="checkbox-non--classifiable" type="checkbox" name="" value="" nodeid="non--classifiable" style="" class="">
<i class="a-icon a-icon-checkbox"></i>
<span class="a-label a-checkbox-label" style="">Non-Classifiable</span>
</label>
</div>

I хочу установить флажок "Неклассифицируемый", но я не смог сделать это, он попытался Я пытался использовать id, name, link_text, но не смог определить, что следует использовать?

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020
WebDriverWait(driver, 30).until(
            EC.element_to_be_clickable((By.XPATH, "//span[@class='a-label a-checkbox-label']"))).click()

Javascript нажмите:

checkBox=WebDriverWait(driver, 30).until(
            EC.element_to_be_clickable((By.XPATH, "//span[@class='a-label a-checkbox-label']")))
            driver.execute_script("arguments[0].click();", checkBox)

Примечание: , пожалуйста, добавьте ниже импорта в ваше решение

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
0 голосов
/ 11 апреля 2020

Вы можете попробовать щелкнуть по нему, используя его текст в xpath и используя явное ожидание, чтобы скрипт ожидал появления элемента на странице.
Вы можете сделать это следующим образом:

element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//span[text()='Non-Classifiable']")))
element.click()

Вам необходимо добавить следующий импорт:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...