class vcg_get_cookies(): mouse = c1() url = 'https://www.vcg.com/login' options = webdriver.ChromeOptions() # 不加载图片,加快访问速度 options.add_experimental_option( "prefs", {"profile.managed_default_content_settings.images": 2}) # 此步骤很重要,设置为开发者模式,防止被各大网站识别出来使用了Selenium options.add_experimental_option('excludeSwitches', ['enable-automation']) # 添加本地代理 # options.add_argument("--proxy--server=127.0.0.1:8080") # 添加UA ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36' options.add_argument('user-agent=' + ua) # driver = webdriver.Chrome(executable_path="D:\chromedriver.exe", options=options) driver = webdriver.Chrome(options=options) driver.maximize_window() wait = WebDriverWait(driver, 10) driver.get(url) time.sleep(3) driver.refresh() while True: # pyautogui.press('f5') # keyboard.press(Key.f5) driver.refresh() time.sleep(3) mouse.position = (1562, 400) mouse.press(Button.left) time.sleep(1) mouse.move(1890, 498) time.sleep(1) mouse.release(Button.left) time.sleep(3) WebDriverWait(driver, 5, 0.5).until( EC.presence_of_element_located((By.CLASS_NAME, 'nc-lang-cnt'))) if driver.find_element_by_class_name('nc-lang-cnt').text == '验证通过': break time.sleep(2) driver.find_element_by_name('id').send_keys('用户名') time.sleep(2) driver.find_element_by_name('password').send_keys('123456') driver.find_element_by_class_name('sign-in-form__btn').click() time.sleep(5) user_name = wait.until( EC.presence_of_element_located((By.CLASS_NAME, 'userInfo'))) print(user_name) cookies = driver.get_cookies() # Selenium为我们提供了get_cookies来获取登录cookies driver.close() # 获取cookies便可以关闭浏览器 # 然后的关键就是保存cookies,之后请求从文件中读取cookies就可以省去每次都要登录一次的 # 当然可以把cookies返回回去,但是之后的每次请求都要先执行一次login没有发挥cookies的作用 jsonCookies = json.dumps(cookies) # 通过json将cookies写入文件 with open('vcgCookies.json', 'w') as f: f.write(jsonCookies) print(cookies)
def send(self): m = c1() k = c2() left, top, right, bottom = self.getWindow() name = str(self.lineEdit_2.text()) content = str(self.plainTextEdit.toPlainText()) m.position = (left + 100, top + 25) m.click(Button.left, 1) time.sleep(1) k.type(name) # time.sleep(2) # k.type([Key.enter]) k.touch(Key.enter, True) time.sleep(1) # 打开聊天窗口 # 1034.369 1247.425 m.position = (left + 100, top + 65) m.click(Button.left, 1) time.sleep(1) # 复制文字到输入框 m.position = (left + 345, bottom - 90) m.click(Button.left, 1) # time.sleep(0.5) k.type(content) # p.copy(content) time.sleep(1) # 粘贴发送文本 # with k.pressed(Key.ctrl_l): # k.touch('v', True) k.touch(Key.enter, True) # 关闭微信窗口 time.sleep(1) m.position = (left + 830, top + 10) m.click(Button.left, 1)
for item in items: product = { 'image': item.find('.pic .img').attr('data-src'), 'price': item.find('.price').text(), 'deal': item.find('.deal-cnt').text(), 'title': item.find('.title').text(), 'shop': item.find('.shop').text(), 'location': item.find('.location').text() } print(product) if __name__ == "__main__": mouse = c1() options = webdriver.ChromeOptions() options.add_experimental_option( "prefs", {"profile.managed_default_content_settings.images": 2}) options.add_experimental_option('excludeSwitches', ['enable-automation']) ua = 'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36' options.add_argument(ua) driver = webdriver.Chrome('F:\BaiduNetdiskDownload\chromedriver.exe', options=options)
import time import pyperclip as p import easygui as g from tqdm import tqdm from pynput.mouse import Button, Controller as c1 from pynput.keyboard import Key, Controller as c2 from Logiclayer import open_flie m = c1() k = c2() # time.sleep(3) # print('鼠标的位置:{}'.format(m.position)) def send(obj, ms): # # 单击微信图标 # m.position = (273, 751) # print(m.position)获取图标位置 # # m.click(Button.left, 1) # time.sleep(1.5) # 单击搜索框 #648.302,798.302 886 187 # if 503 # 100,25,58 887 682 92 # 60,175.237 58 25 140 384.590. 870.193 #914 1256 left, top, right, bottom = open_flie.getWindow() # print(postion) m.position = (left + 100, top + 25)