Установите флажок, используя Selenium с Python

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

from selenium import webdriver from selenium.webdriver.common.keys import Keys browser = webdriver.Firefox() url = 'any url' browser.get(url) browser.find_element_by_id("15 Minute Stream Flow Data: USGS (FIFE)").click() 

Я хочу выбрать флажок, соответствующий 15-минутному потоку данных потока: USGS (FIFE.

Я пробовал как id , name , link_text но не мог определить, что следует использовать?

4 Solutions collect form web for “Установите флажок, используя Selenium с Python”

Используйте find_element_by_xpath с выражением xpath .//*[contains(text(), 'txt')] чтобы найти элемент, содержащий txt виде текста.

 browser.find_element_by_xpath( ".//*[contains(text(), '15 Minute Stream Flow Data: USGS (FIFE)')]" ).click() 

ОБНОВИТЬ

Некоторое содержимое загружается после загрузки документа. Я модифицировал код, чтобы попробовать 10 раз (1 сон между ними).

 import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import NoSuchElementException browser = webdriver.Firefox() url = 'http://reverb.echo.nasa.gov/reverb/' browser.get(url) for i in range(10): try: browser.find_element_by_xpath( ".//*[contains(text(), '15 Minute Stream Flow Data: USGS (FIFE)')]" ).click() break except NoSuchElementException as e: print('retry in 1s.') time.sleep(1) else: raise e 

Флажок HTML:

 <input id="C179003030-ORNL_DAAC-box" name="catalog_item_ids[]" type="checkbox" value="C179003030-ORNL_DAAC"> 

поэтому вы можете использовать

 browser.find_element_by_id("C179003030-ORNL_DAAC-box").click() 

Один из способов найти атрибуты элементов – использовать инструменты разработчика Google Chrome:

Осмотреть элемент

поэтому вы можете попробовать это:

 browser = webdriver.Firefox() url = 'http://reverb.echo.nasa.gov/reverb/' browser.get(url) browser.find_element_by_name("catalog_item_ids[]").click() 

Вы также можете попробовать:

 browser.find_element_by_xpath(".//*[@id='C179003030-ORNL_DAAC-box']") 

Если вы хотите узнать, уже ли это проверено или нет:

 browser.find_element_by_xpath(".//*[@id='C179003030-ORNL_DAAC-box']").get_attribute('checked') 

щелкнуть:

 browser.find_element_by_xpath(".//*[@id='C179003030-ORNL_DAAC-box']").click() 
  • Firefox, Selenium, toDataURL, Uint8ClampedArray и Python
  • Assert / VerifyElementPresent с Python и WebDriver?
  • Selenium, Get Elements By Xpath - Только захватить последние 60 элементов на странице
  • Не удается запустить PhantomJS в python через Selenium
  • Python, Selenium, загружать все типы MIME
  • Permission denied: geckodriver.log во время работы selenium webdriver в python
  • Многопроцессорные и Selenium Python
  • диалоговое окно загрузки файла в Firefox
  • Python - лучший язык программирования в мире.