2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
सामग्रीसूची
अन्तरफलकस्य माध्यमेन कुकीजं प्राप्नुवन्तु
ब्राउजर् बाईपास प्रवेशं सक्षमं कुर्वन्तु
प्रवेशस्य उपयोगेन प्रत्येकस्य प्रवेशस्य पुनरावृत्तिक्रियाः न्यूनीकर्तुं शक्यन्ते, प्रवेशानन्तरं मेनूपृष्ठं प्रत्यक्षतया संचालितुं शक्यते, तथा च सुरक्षासत्यापनप्रवेशं न्यूनीकर्तुं शक्यते, यथा चित्रसत्यापनप्रवेशक्रियाः नोटः- कुकीजस्य टोकनस्य च अवधिः समाप्तः भवति ।
विकासकसाधनात् प्रत्यक्षतया कुकीजं प्राप्य तानि योजयन्तु अधोलिखितं चित्रं जालपुटे बहुषु साइट्-स्थानानां कुकीजं दर्शयति केवलं भवद्भिः आवश्यकानि चित्वा तानि योजयन्तु ।
- from selenium import webdriver
- from selenium.webdriver.edge.options import Options
-
- # 一般只需要name和value
- cookie = {'name': 'ZY44', 'value': 'tLonhTkz50iHzxjhIsaaaafferr:C'}
-
- options = Options()
- # options.add_argument('--headless')
- wd = webdriver.Edge(options=options)
-
- wd.add_cookie(cookie_dict=cookie)
-
- #for c in cookies: # 如果是多个cookie要添加,cookies存储为列表是,使用循环添加
- # wd.add_cookie(c)
-
- wd.refresh() # 刷新页面
-
- wd.get(URL)
-
- wd.quit()
raise exception_class (सन्देश, स्क्रीन, स्टैकट्रेस)
selenium.common.exceptions.InvalidCookieDomainException: सन्देशः: अमान्यकुकी डोमेन्
(सत्रस्य सूचना: MicrosoftEdge=126.0.2592.87)
यदि भवान् उपरिष्टाद् त्रुटिं प्राप्नोति तर्हि wd.add_cookie(cookie_dict=cookie) इत्यस्मात् पूर्वं wd.get(URL) इत्यस्य पङ्क्तिं योजयितुं शक्नोति, यथा ।
- wd.get(URL)
- wd.add_cookie(cookie_dict=cookie)
- wd.get(URL)
अन्तरफलकस्य माध्यमेन कुकीदत्तांशं प्राप्त्वा, selenium मध्ये कुकी-उपयोगं योजयन्तु
- def get_cookies():
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36',
- }
- host = 'https://baike.baidu.com'
- req = requests.get(host, headers=headers)
- cookie_data = req.cookies.get_dict()
- cookies = []
- for key, value in cookie_data.items():
- cookies.append(dict(name=key, value=value))
- return cookies
Google अथवा edge browser इत्यत्र प्रविष्टं कुर्वन्तु:chrome://version/ 或 edge://version/ 查看配置文件夹路径,
अन्ते Default इत्येतत् निष्कासयन्तु, ततः वयं इष्टं मार्गं स्प्लिस कर्तुं मार्गस्य पूर्वं ––user-data-dir= योजयन्तु ।
profile_directory = r'--user-data-dir=C:UsersxxxAppDataLocalMicrosoftEdgeUser Data'
- # 这里使用模糊匹配,把edge开头的进程都杀掉
- if platform.system() == "Windows":
- os.system("taskkill -im msedge* -f")
- else:
- os.system("killall -9 msedge*")
-
- user_data = r'C:UsersxxxAppDataLocalMicrosoftEdgeUser Data'
- profile_directory = rf'--user-data-dir={user_data}'
-
- options = Options()
- # options.add_argument('--headless')
- options.add_argument(profile_directory)
- wd = webdriver.Edge(options=options)
-
- wd.maximize_window()
- wd.get(URL)
-
- wd.quit()
नोटः- एतस्य पद्धतेः उपयोगं कुर्वन् भवद्भिः तत्सम्बद्धं ब्राउजर् प्रोग्राम् बन्दं कर्तव्यम्, अन्यथा त्रुटिः निवेदिता भविष्यति, अतः निष्पादनात् पूर्वं तत्सम्बद्धं ब्राउजर् प्रक्रियां मारयितुं आवश्यकम् । उपरिष्टाद् कोडः प्रक्रियां मारयितुं अस्पष्टमेलनप्रश्नस्य उपयोगं करोति, निम्नलिखितम् च पूर्णमेलनम् अस्ति ।
- returnCode=os.system('taskkill /F /iM chrome.exe') # 谷歌
- returnCode=os.system('taskkill /F /iM iexplore.exe') # IE
- returnCode=os.system('taskkill /F /iM firefox.exe') # 火狐
- returnCode=os.system('taskkill /F /iM msedge.exe') # edge
- assert returnCode==0 #判断浏览器进程是否杀完
- token = "my_token"
-
- options = Options()
- options.add_argument('--headless')
- wd = webdriver.Edge(options=options)
-
- wd.execute_script("window.localStorage.setItem('token', '%s');" % token) # 使用selenium执行js的操作添加token
-
- wd.maximize_window()
- wd.get(url)
- wd.quit()