我正在尝试自动化我的许多社交媒体内容,所以我正在构建一个Instagram机器人。 我似乎无法弄清楚要定位的编码和输入框并输入我的用户名/密码。 我尝试按名称、CSS 选择器、类名等查找元素。 我不知所措。 Selenium的新手和python的新手。
尝试了我在论坛,视频等上看到的所有方法,但似乎不起作用。
class InstagramBot:
def __init__(self, username, password):
self.username = username
self.password = password
self.driver = webdriver.Chrome('chromedriver')
chrome_options = webdriver.ChromeOptions();
chrome_options.add_experimental_option("excludeSwitches",
['enable-automation']);
driver = webdriver.Chrome(options=chrome_options);
def login(self):
self.driver.get
('https://www.instagram.com/accounts/login/')
self.driver.find_elements_by_class_name('_2hvTZ pexuQ
zyHYP').send_keys(self.username)
self.driver.find_elements_by_xpath("//*[contains(text(),
'password')]")[0].send_keys(self.password)
if __name__ == '__main__':
ig_bot = InstagramBot ('temp_username','temp_password')
ig_bot.login()
您可以使用以下 css 选择器访问字段:
"input[aria-label='Phone number, username, or email']" // username
"input[name='password']" // password
包含对动态创建的元素的等待也是一个好主意
wait.until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR, "input[aria-label='Phone number, username, or email']"))).send_keys(self.username)
wait.until(expected_conditions.element_to_be_clickable((By.CSS_SELECTOR, "input[name='password']"))).send_keys(self.password)