Предупреждение: Это грубый код. Это неправильно во многих смыслах, и вам придется улучшить это.
Код -
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('location/to/chrome/driver')
driver.get("https://www.instagram.com/accounts/login/")
elem2 = driver.find_element_by_name("username")
elem2.send_keys('username')
elem3 = driver.find_element_by_name("password")
elem3.send_keys('password')
elem3.send_keys(Keys.ENTER)
while True:
try:
elem4 = driver.find_element_by_css_selector(".-Cab_, .bIiDR")
elem4.click()
break
except Exception:
pass
elem5 = driver.find_element_by_xpath('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/input')
elem5.send_keys("chucknorris")
while True:
try:
elems = driver.find_elements_by_class_name("yCE8d")
elems[0].click()
break
except Exception:
pass
Что бы вы хотели улучшить? Добавьте timeout
s и EC.presence_of_element_located((By.ID, "myElement"))
и т. Д., Чтобы сделать ваш код более надежным. Здесь, если элемент не найден в while True
, он просто навсегда застрянет в подвешенном состоянии. Я думаю, ты бы этого не хотел. Если ты это сделаешь, кто я такой, чтобы остановить тебя. Мы все здесь взрослые.
Примечание: Здесь не используется driver.get
, но вместо этого выполняется поиск идентификатора пользователя.