#python #selenium #selenium-chromedriver
#python #селен #selenium-chromedriver
Вопрос:
Моя цель: автоматизировать скучную задачу на github
Что: я хочу нажать «добавить файл», а затем «создать новый файл»
Комментарии:
1. Используйте
driver.find_element_by_class_name
Ответ №1:
Если идентификатор отсутствует или элемент имеет динамический идентификатор, используйте XPATH. Использование class не является идеальным, так как класс, возможно, будет повторно использоваться многими другими элементами.
В этом случае используйте этот XPATH: //summary[.//span[contains(text(),"Add file")]]
Лучшая практика: используйте плавное ожидание
WebDriverWait(driver, 15).until(
EC.visibility_of_element_located(
(By.XPATH, '//summary[.//span[contains(text(),"Add file")]]')
))
Прочитайте документы о явном / свободном ожидании: https://selenium-python.readthedocs.io/waits.html#explicit-waits
Ответ №2:
Вы могли бы попробовать driver.find_element_by_xpath("[xpath goes here]")
Если вы хотите узнать больше, вот официальные документы для поиска элементов.
Ответ №3:
from selenium import webdirver
#define your executable path
browser = webdriver.Chrome(executable path=" ")
browser.get("**")
browser.find_element_by_xpath("put your copied xpath here")
Комментарии:
1. вы также можете использовать by_class