Seite 1 von 1

Selenium einen Radio button anklicken (Check setzen)

Verfasst: Samstag 14. November 2020, 14:17
von naheliegend
Hi,

ich habe einen Radio-Button :

Code: Alles auswählen

<input value="Test1" name="period" type="radio">
den ich nicht angeklickt bekomme, bzw. dass in diesem Kreis halt ein Punkt ausgewählt wird.

Code: Alles auswählen

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By

driver = webdriver.Safari()
driver.get('myURL')

WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.XPATH, "//input[@type='radio' and @value='Test1']"))).click()
gibt mir einen Timeout-Error:
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Was mache ich falsch?

Re: Selenium einen Radio button anklicken (Check setzen)

Verfasst: Samstag 14. November 2020, 15:01
von naheliegend
Oh, habe gesehen, dass der Radio button in einem iframe war.

Vorher:

Code: Alles auswählen

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
hat das Problem gelöscht. Sorry.

Re: Selenium einen Radio button anklicken (Check setzen)

Verfasst: Samstag 14. November 2020, 17:31
von naheliegend
Andere Frage: Wie kann man durch eine Liste von Elementen iterieren und auf diese klicken?

Code: Alles auswählen

report_elements = WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "report")))

    for x in report_elements[:-1]:
        x.click()
Wirft mir den Fehler:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: