Всем привет написал код для Splinter Python:
Будет выполнять browser.find_by_css('.u-decoration-none.next.pagination-links_anchor').click() - листать страницу пока элемент по XPATH будет не найдет, когда найдет то browser.find_by_xpath(XPATH).first.click() - кликнет на него.
with Browser('chrome', options=None, user_agent=None) as browser:
while (browser.is_element_present_by_xpath(XPATH) == False):
browser.find_by_css('.u-decoration-none.next.pagination-links_anchor').click()
sleep(4)
else:
browser.find_by_xpath(XPATH).first.click()
sleep(5)
browser.quit()
Все прекрасно работает если использую Splinter.
Благодаря методу is_element_present_by_xpath я могу проверить присутствие тут False или True. Как можно такое провернуть на Selenium?Пробывал такое, но не работает:
XPATH = '//a[@href="/biz/college-pro"]'
account = driver.find_element_by_xpath(XPATH)
while (account.is_displayed() == False):
driver.find_element_by_css_selector('.u-decoration-none.next.pagination-links_anchor').click()
sleep(4)
else:
account.click()
sleep(5)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[@href="/biz/college-pro"]"}
P/S Да я хочу переписать все на Selenium ибо есть у него метод .location который отдает {'y': 5380.0, 'x': 617.0} в таком виде координаты которые мне очень нужны и этот метод в Splinter нету(((
Ребят плиз подскажите как решить проблему