#python-3.x #selenium #webdriver
#python-3.x #селен #webdriver
Вопрос:
У меня проблема с кодом.
Мне нужно подождать 3 секунды, а затем нажать кнопку «Следовать».
Этот код нажимает кнопку «Следовать» сразу после загрузки веб-сайта.
for follow in accounts_scrapped:
driver.get(follow)
try:
follow_button = driver.find_element_by_xpath("//span[text() = 'Follow']").click()
print("found follow button")
follow_button.click()
print("followed")
except:
print("already followed this account. Going to next one")
continue
Комментарии:
1. использовать
time.sleep(3)
?2. ничего не изменилось.
3. вы нажимаете на кнопку дважды?
follow_button = driver.find_element_by_xpath("//span[text() = 'Follow']").click()
имеет .click() в конце4. и тогда вы закончили
follow_button.click()
5. упс, я поставил это по ошибке. Я хочу щелкнуть по нему один раз, но не сразу.
Ответ №1:
Отладьте свой код следующим образом, это может помочь понять, в чем проблема
for follow in accounts_scrapped:
driver.get(follow)
try:
follow_button = driver.find_element_by_xpath("//span[text() = 'Follow']")
time.sleep(3)
print('0 seconds letf')
follow_button.click()
print("followed")
except Exception as e :
print(e)
print("already followed this account. Going to next one")
continue
print(e)
выведет сообщение об ошибке
Комментарии:
1. вы говорите, что он не ждет 3 секунды? может быть, где-то еще в вашем коде вы нажали на это?
2. Я всегда получаю сообщение «уже подписан на эту учетную запись. Переход к следующему»
3. это означает
try
, что в блоке произошла ошибка, поэтому он переместился вexcept
блок4. для чего распечатывается
print(e)
?5. time.sleep(3), как я понимаю, ожидает 3 секунды, пока не появится следующая страница. Но в этом случае он сразу же нажимает кнопку «Следовать» снова, когда появляется каждая страница веб-сайта.