У меня есть кнопка, которую я пытаюсь щелкнуть с селеном, однако есть больше селекторов CSS, чем кнопки - PullRequest
1 голос
/ 22 июня 2019

Я пытаюсь нажать на кнопку «Подробности» на https://www.rogers.com/web/totes/wireless/choose-phone. Однако кажется, что я не могу нажать ее.Страница кажется динамичной, и поэтому ссылка не меняется.

Я пытался выбрать кнопку по ссылке, но только для того, чтобы понять, что она остается на той же ссылке, независимо от того, нажата ли эта кнопка.Есть 66 элементов под кнопкой «детали», когда их должно быть только 32. Поэтому, когда я пытаюсь выбрать любой из этого списка элементов, ни один не работает.

phoneDetailsPath = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.select-font.ng-scope')))
phoneDetailsPath[num].click()

Я надеюсь, что смогу сохранить все"детали" пути в список и нажмите кнопку с этим индексом.

1 Ответ

1 голос
/ 22 июня 2019

Если это поможет, вы можете использовать селектор

[ng-click*=gotoDeviceConfigure]

Автоматикам не понравится использование javascript, но вы можете выполнить щелчок следующим образом:

#first item
driver.execute_script('document.querySelector("[ng-click*=gotoDeviceConfigure]").click();')

# using indices
driver.execute_script('document.querySelectorAll("[ng-click*=gotoDeviceConfigure]")[1].click();')

Тем не менее, вам нужно прокрутить более поздние элементы в поле зрения, и вам нужно обрабатывать всплывающие всплывающие окна о регистрации, если только вы не вошли в систему (я полагаю).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...