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()
这是代码
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
下载最新的 chromedriverLatest 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()