Selenium 程序执行不开始使用 Python Class

Selenium program execution does not start using Python Class

这是代码

class InstogramBot():

    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.driver = webdriver.Chrome()
    def close_browser(self):
        self.driver.get("https://www.instagram.com/")
        time.sleep(5)
        name_input = self.driver.find_element_by_name("username")
        name_input.send_keys(username)
        time.sleep(2)
        password_input = self.driver.find_element_by_name("password")
        password_input.send_keys(password)
        time.sleep(2)
        self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button/div').click()
        time.sleep(7)
        self.driver.close()
        self.driver.quit()

Selenium 没有出现,甚至没有打开网络驱动程序

控制台快照:

如果你没有驱动对象,这个

self.driver.get("https://www.instagram.com/")

应该会导致编译时错误。

修复:

请从 here

下载最新的 chromedriver
Latest stable release: ChromeDriver 95.0.4638.54

下载后,将其放入某个目录。

并像这样使用它:

driver_path = r'C:\Users\userID\*****\Desktop\Automation\chromedriver.exe'
self.driver = webdriver.Chrome(driver_path)
self.driver.get("https://www.instagram.com/")

在使用 Python 时,您需要考虑以下事项:

  • Python 是一种面向对象的编程语言,Python 中的所有内容都表示为对象及其属性和方法。
  • Class in Python 是对象构造函数,即创建对象的机制。

你的程序

你写的代码块包括Class的定义和唯一的方法.

要启动成功执行,您需要创建一个实例,即 class InstogramBot()

的对象
bot = InstogramBot("Рома", "Рома")

最后需要通过对象调用方法close_browser()

bot.close_browser()

解决方案

您的有效代码块将是:

from selenium import webdriver

class InstogramBot():

    def __init__(self, username, password):
    self.username = username
    self.password = password
    self.driver = webdriver.Chrome()

    def close_browser(self):
    self.driver.get("https://www.instagram.com/")
    time.sleep(5)
    name_input = self.driver.find_element_by_name("username")
    name_input.send_keys(username)
    time.sleep(2)
    password_input = self.driver.find_element_by_name("password")
    password_input.send_keys(password)
    time.sleep(2)
    self.driver.find_element_by_xpath('//*[@id="loginForm"]/div/div[3]/button/div').click()


bot = InstogramBot("Рома", "Рома")
bot.close_browser()