[我正在创建一个Twitter机器人,该机器人自动喜欢#标签中的每个帖子,并且在使用get()获取url时遇到此错误:
get()缺少1个必需的位置参数:'url'。
我也尝试过get(url = 'https//twitter.com/')
,但是它抛出了错误,即:
TypeError:get()缺少1个必需的位置参数:'self'
如何解决此问题?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
class TwitterBot() :
username , password = '' , ''
bot = webdriver.Firefox
def __init (self , username , password) :
self.username = username
self.password = password
self.bot = webdriver.Firefox
username = 'BitBot97561591'
password = 'iambot'
def login ( self ) :
bot = self.bot
bot.get('https://twitter.com/')
time.sleep(3)
user = bot.find_element_by_class_name('email-input')
password = bot.find_element_by_name('session[password]')
user.clear()
password.clear()
user.send_keys(self.username)
password.send_keys(self.password)
password.send_keys(Keys.RETURN)
time.sleep(3)
def liker ( self , hashtag ) :
bot = self.bot
bot.get('https://twitter.com/search?q='+hashtag+'t&src=typd')
time.sleep(3)
for i in range (1 , 5) :
bot.execute_script('window.scrollTo(0,document.body.scrollHeight)')
time.sleep(2)
tweets = bot.find_elements_by_class_name('tweet')
links = [elem.get_attribute('data-permalink-path') for elem in tweet]
for link in links :
bot.get('https://twitter.com/'+link)
try :
bot.find_element_by_class_name('HeartAnimation').click()
time.sleep(5)
except Exception as ex :
time.sleep(10)
tweet = TwitterBot()
tweet.login()
tweet.liker('webdevelopment')
我希望打开firefox浏览器,输入电子邮件和密码,并像标签中的所有帖子一样。
您并没有真正启动FireFox驱动程序,而是将webdriver
type分配给bot
bot = webdriver.Firefox(executable_path='path to geckodriver')