Я пытаюсь создать свой первый проект, используя Python и Selenium, и я новичок в этом, это просто простой проект, который запрашивает у пользователя его / ее имя пользователя и пароль на Facebook, а затем авторизуется, перенаправляет на facebook.com/ user / следующую страницу и отписаться от всех, за кем подписан пользователь.
Вот мой код ниже
Я импортировал необходимые модули, используя эти коды
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium
import time
Я закрыл Facebookвсплывающее уведомление, чтобы избежать нарушения кода ..
##SHUTTING POPUP NOTIFICATION
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications": 2}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("start-maximized")
driver = webdriver.Chrome(chrome_options=chrome_options)
Определен логин func
, который принимает имя пользователя и пароль после открытия facebook ..
def login():
#Login
user = input('Whats your username or email ')
passw = input('Input your password ')
driver.get("https://www.facebook.com/")
username = driver.find_element_by_name("email")
username.send_keys(user)
password = driver.find_element_by_name("pass")
password.send_keys(passw)
password.send_keys(Keys.RETURN)
Далее я только что создал3 секФункция времени
def timeToSleep():
time.sleep(3)
Функция getPage - это функция для перенаправления на мой пункт назначения, т. Е. Пользователь, следующий за
def getPage():
##Get Page
driver.get("https://www.facebook.com/Username/ID/following")
. Это функция щелчка, чтобы нажимать на нужные мне места, и это гдемоя проблема в том, что я хотел бы начать нажимать на все последующие с помощью щелчка ниже. [Check img]
def click():
xpath = "//a[@role='button']"
a=driver.find_elements_by_xpath(xpath)
for posts in a:
posts.click()
НАЖМИТЕ НА СЛЕДУЮЩИЙ
НоМоя проблема сейчас заключается в следующем (следующая кнопка не имеет никакого класса или идентификатора, кроме атрибута привязки "role = 'button') ..
Код работал бы нормально, но они являются другими элементами навеб-страница с таким же атрибутом role = 'button', как на картинке ниже: Панель инструментов Панели инструментов Facebook имеют одинаковые функции кнопок ролей. Мой вопрос заключается в следующем: как заставить Selenium пропустить панель инструментов и начать нажимать на кнопкуСледующие кнопки ..
Извините, если мое объяснение плохое ... Я с удовольствием оценю любую помощь от любого органа ..
Заранее спасибо