При работе с Selenium нужно помнить о некоторых вещах, таких как ожидание в течение некоторого времени. Код Selenium будет выполняться очень быстро, но когда вам нужно будет найти веб-страницу на элементе, это будет зависеть от скорости интернета и вашего аппаратного обеспечения. Чтобы избежать ошибок «Нет такого элемента», вы должны включить sleep()
или Команда wait
, пока какой-либо элемент не станет видимым. Я предпочитаю использовать time.sleep(time_amount_in_sec)
.
и если вы говорите о разделе комментариев, просто обязательно нажмите на него, прежде чем начать отправку ключей, чтобы избежать ошибок. Очень похожий бот описан здесь .
Фрагмент кода:
def comment(i):
list1=["niceeee ","aweeesome ","supeeerr ","cooool "]
list2=[":)", ";)",":o"]
p=random.randint(0,3)
q=random.randint(0,2)
paste=list1[p]+list2[q]
a=br.find_element_by_class_name('_b6i0l').click()
time.sleep(1.85)
b=br.find_element_by_xpath("//*[@class='_bilrf']")
b.send_keys(paste)
b.send_keys(Keys.ENTER)
time.sleep(2)
with open('commented.txt','a') as f:
x=str(i)
f.write('%s\n'%x)
return()
Надеюсь, это будет полезно.
ПРИМЕЧАНИЕ - Это старый, поэтому попробуйте изменить классы соответствующим образом, так как они очень часто меняют классы веб-сайта.