Я пытаюсь создать макрос, который открывает все мои онлайн-классы на Chrome (потому что вход в систему раздражает, особенно если вам приходится делать это 8 раз каждое утро) .
Кстати, я использую Python 3.8, Chrome 81.0.4044.122 и последнюю версию Selenium.
До сих пор я нажимал кнопку, используя:
driver = webdriver.Chrome()
driver.find_element_by_xpath("PATH_OF_ELEMENT").click()
А потом я найти кнопку входа, которая имеет изображение вместо текста. Я пробовал XPath, CSS Селектор, идентификатор, имя, ссылка текста, ActionChains (move_to), ничего не работает.
Вот HTML: , нажмите здесь, пожалуйста, .
Кнопка, которую я пытаюсь нажать, - это кнопка с тегом a.
Я потратил 30 минут на поиски в Google, и все, что я нашел, это вопросы переполнения стека из 6 лет go. Они предложили мне использовать WebDriverWait или изменить фрейм. Ни один из них не сработал (я мог ошибиться). Я новичок в Selenium, поэтому будьте добры и объясните сложные вещи.
Как найти правильный XPath кнопки с изображением и щелкнуть по ней?
driver.find_element_by_css_selector ('. Nice-select'). Click () driver.find_element_by_xpath ("/ html / body / div 1 / div [3] / div / div / div / div / div / div 2 / div 1 / div / ul / li 2"). click () driver.find_element_by_xpath ('/ html / body /div1/div[3]/div/div/div/div/div/div2/div2/div/span').click () driver.find_element_by_xpath ('/ html / body / div 1 / div [3] / div / div / div / div / div / div 2 / div 2 / div / ul / li [19] '). Click () driver.find_element_by_xpath (' / html / body / div 1 / div [3] / div / div / div / div / div / div 2 / div [3] / div / span '). click () driver.find_element_by_xpath (' / html / body / div 1 / div [3] / div / div / div / div / div / div 2 / div [3] / div / ul / li [3] '). click () driver.find_element_by_xpath (' / html / body / div 1 / div [3] / div / div / div / div / div / div 2 / div [4] / div / span '). Click () driver.find_element_by_xpath (' / HTML / тело / DIV * * 1 тысяча пятьдесят-три / дел [3] / DIV / DIV / DIV / DIV / DIV / дел 2 / дел [ 4] / div / ul / li [3] '). Click () driver.find_element_by_xpath (' / html / body / div 1 / div [3] / div / div / div / div / div /div2/div[5]/a').click()