, однако, когда я расширяю элемент на год, на один год. Поэтому я должен прокрутить вниз по слайсеру. Тем не менее, мне еще предстоит найти метод, который работает.
Код: Выделить всё
# Selenium resources
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from selenium.webdriver.common.by import By
# Driver service
driver_file = r"d:\dev\selenium\msedgedriver.exe" # or whatever driver is available
service = Service(driver_file)
# Browser options
options = Options()
options.add_experimental_option("detach", True)
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--inprivate")
# Open browser
driver = webdriver.Edge(service = service, options = options)
# Get URL
url = "https://app.powerbi.com/view?r=eyJrIjoiZWIzNDg3YzUtMGFlMC00MzdmLTgzOWQtZThkOWExNTU2NjBlIiwidCI6IjQ0OTlmNGZmLTI0YTYtNGI0Mi1iN2VmLTEyNGFmY2FkYzkxMyJ9"
driver.get(url)
# Proceed to next page
driver.find_element(By.XPATH, '//button[@aria-label="Próxima Página"]/i').click()
# Open date slicer
driver.find_element(By.XPATH, '//div[@class="slicer-dropdown-menu"]/i')
# Expand month options for a year, e.g. 2024
(driver \
.find_element(By.XPATH, '//div[@class="slicerItemContainer" and @title="2024"]/div[@class="expandButton"]') \
.click())
Но, если я не могу выбирать месячный марш. фрагмент JavaScript: < /p>
Код: Выделить всё
slicer_container = driver.find_element(By.XPATH, '//div[@class="slicerContainer"]')
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", slicer_container)
< /code>
Попытка прокрутить вниз с кипами, бросая elementnotinteractableexception: < /p>
from selenium.webdriver.common.keys import Keys
scroll_container = driver.find_element(By.CLASS_NAME, "scroll-bar")
scroll_container.send_keys(Keys.DOWN)
< /code>
elementNotInterActableException: сообщение: элемент не взаимодействует (Информация сеанса: microsoftedge = 135.0.3179.85) < /p>
< /blockquote>
Actionchains.from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
actions = ActionChains(driver)
actions.move_to_element(scroll_bar).click().send_keys(Keys.PAGE_DOWN).perform()
< /code>
elementNotInterActableException: сообщение: элемент не взаимодействует (Информация сеанса: microsoftedge = 135.0.3179.85) < /p>
< /blockquote>
И, наконец, я пытался использовать стиль - но он только способен к Scroll. элементы. < /p>
visible_group = driver.find_element(By.CLASS_NAME, 'visibleGroup')
driver.execute_script(f'arguments[0].style.transform = "translateY(-60px)";', visible_group)
Все сказали, я понятия не имею, что делать. Есть идеи? Пожалуйста, не стесняйтесь просить более подробную информацию.
Подробнее здесь: https://stackoverflow.com/questions/795 ... n-selenium