Commit 2c19e5d2 by yangpengflag

update

parent 7ac75334
[{"domain": ".jd.com", "expiry": 1567266178, "httpOnly": false, "name": "__jda", "path": "/", "secure": false, "value": "122270672.15517141734201479568127.1551714173.1551714173.1551714173.1"}, {"domain": ".jd.com", "expiry": 1551715974, "httpOnly": false, "name": "shshshsID", "path": "/", "secure": false, "value": "25307eaa9c530c47ff246d36a94f61cb_1_1551714174858"}, {"domain": ".jd.com", "httpOnly": false, "name": "__jdc", "path": "/", "secure": false, "value": "122270672"}, {"domain": ".jd.com", "expiry": 1553010173, "httpOnly": false, "name": "__jdv", "path": "/", "secure": false, "value": "122270672|direct|-|none|-|1551714173421"}, {"domain": "passport.jd.com", "httpOnly": false, "name": "_t", "path": "/", "secure": false, "value": "FlrPdc3gp9GnG6zwqGCcXe4WChDLESSMAiE4pNouenE="}, {"domain": ".jd.com", "expiry": 2415714174, "httpOnly": false, "name": "shshshfp", "path": "/", "secure": false, "value": "56d6e3317d74dc067ff252b2704e9816"}, {"domain": ".jd.com", "expiry": 1567266180.717784, "httpOnly": false, "name": "__jdu", "path": "/", "secure": false, "value": "15517141734201479568127"}, {"domain": ".jd.com", "expiry": 1552578174.419022, "httpOnly": false, "name": "PCSYCityID", "path": "/", "secure": false, "value": "1213"}, {"domain": ".jd.com", "expiry": 2415714175, "httpOnly": false, "name": "shshshfpb", "path": "/", "secure": false, "value": "wtblu0AoHyXc5xut9EhPoFg%3D%3D"}, {"domain": ".jd.com", "expiry": 2415714174, "httpOnly": false, "name": "shshshfpa", "path": "/", "secure": false, "value": "133b410a-a7a5-33f6-7096-8b83c6466e67-1551714174"}, {"domain": "passport.jd.com", "httpOnly": true, "name": "alc", "path": "/", "secure": false, "value": "LORP74MZkb7X2sR8z+rZDQ=="}, {"domain": ".jd.com", "expiry": 1551715978, "httpOnly": false, "name": "__jdb", "path": "/", "secure": false, "value": "122270672.3.15517141734201479568127|1.1551714173"}, {"domain": ".jd.com", "expiry": 1924905600, "httpOnly": false, "name": "3AB9D23F7A4B3C9B", "path": "/", "secure": false, "value": "ULIAFDDPXMY77SMQ7377NX7GCBBZXZGFFQ2FRYTQ33O44UAVLY6KAGSIAAMDJ5ZA5HFLR5BEHR4PKMCSZ2QFKDAWEQ"}, {"domain": ".jd.com", "httpOnly": false, "name": "wlfstk_smdl", "path": "/", "secure": false, "value": "75mt1v2vmqkt94ab6r0z72q7019y67qe"}]
\ No newline at end of file
[{"domain": ".jd.com", "expiry": 1567321194, "httpOnly": false, "name": "__jda", "path": "/", "secure": false, "value": "122270672.15517691860521367670729.1551769186.1551769186.1551769186.1"}, {"domain": ".jd.com", "httpOnly": false, "name": "__jdc", "path": "/", "secure": false, "value": "122270672"}, {"domain": ".jd.com", "expiry": 1553065186, "httpOnly": false, "name": "__jdv", "path": "/", "secure": false, "value": "122270672|direct|-|none|-|1551769186055"}, {"domain": ".jd.com", "expiry": 2415769189, "httpOnly": false, "name": "shshshfp", "path": "/", "secure": false, "value": "4880d847605bf133631c1a9029bed8b7"}, {"domain": "passport.jd.com", "httpOnly": false, "name": "_t", "path": "/", "secure": false, "value": "Rw4lFlZjuCi3Xd2eE8PypKNRlOnTjRxIQrDMjZHKkGY="}, {"domain": ".jd.com", "expiry": 1567321198.140046, "httpOnly": false, "name": "__jdu", "path": "/", "secure": false, "value": "15517691860521367670729"}, {"domain": "passport.jd.com", "httpOnly": true, "name": "alc", "path": "/", "secure": false, "value": "Z4By1vxNfkCkXKHXmK3HUw=="}, {"domain": ".jd.com", "expiry": 1552633187.913428, "httpOnly": false, "name": "PCSYCityID", "path": "/", "secure": false, "value": "1213"}, {"domain": ".jd.com", "expiry": 2415769189, "httpOnly": false, "name": "shshshfpa", "path": "/", "secure": false, "value": "0be91b63-579d-59e7-5b21-b387b3514e71-1551769189"}, {"domain": ".jd.com", "expiry": 1551770989, "httpOnly": false, "name": "shshshsID", "path": "/", "secure": false, "value": "add23740d8dafebf4e4b311eef2aa39d_1_1551769189548"}, {"domain": ".jd.com", "expiry": 1551770994, "httpOnly": false, "name": "__jdb", "path": "/", "secure": false, "value": "122270672.3.15517691860521367670729|1.1551769186"}, {"domain": ".jd.com", "httpOnly": false, "name": "wlfstk_smdl", "path": "/", "secure": false, "value": "n8oovyjhrakjjzj83wp07uyosoe89zqx"}, {"domain": ".jd.com", "expiry": 1924905600, "httpOnly": false, "name": "3AB9D23F7A4B3C9B", "path": "/", "secure": false, "value": "NLPPWTBRRG7BKUMINBAGXHE73VBM6NMAUIZYBBUY5SP7IJ6EJW3SZZQ6AX2B62RJEXGZHQINHTFTNZAV6Q5KFFD2XY"}]
\ No newline at end of file
from selenium import webdriver
import os
import json
import time
driver = webdriver.Chrome()
driver.maximize_window()
......@@ -14,8 +15,11 @@ def login():
driver.find_element_by_id("loginname").send_keys("yp289965734")
driver.find_element_by_id("nloginpwd").send_keys("12345QWERT")
driver.find_element_by_id("loginsubmit").click()
time.sleep(2)
save_cookie_tofile(driver)
print("登录成功")
screenshot(driver)
......@@ -32,6 +36,7 @@ def save_cookie_tofile(driver):
获取cookies目录
'''
def get_cookie_dir():
#获取当前文件目录的上一级目录
project_path = os.path.dirname(os.getcwd())
print("cwd =" + os.getcwd())
......@@ -40,5 +45,28 @@ def get_cookie_dir():
os.mkdir(file_path)
return file_path
def screenshot(driver,file_path=None):
if file_path == None:
project_path = os.path.dirname(os.getcwd())
file_path = project_path + "/images/"
if not os.path.exists(file_path):
os.mkdir(file_path)
# 将strftime 时间元祖按指定格式转换为字符类型作为图片的名称
img_name = time.strftime("%Y%m%d-%H%M%S",time.localtime())
file_path = file_path + img_name + ".png"
print(file_path)
driver.save_screenshot(file_path)
if __name__ == "__main__":
login()
try:
login()
finally:
time.sleep(10)
driver.quit()
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.maximize_window()
try:
driver.get("https://www.jd.com")
shouji = driver.find_element_by_link_text("电脑")
#鼠标悬停,鼠标事件,必须要perform()才会执行
ActionChains(driver).move_to_element(shouji).perform()
time.sleep(5)
elem = driver.find_element_by_link_text("笔记本")
elem.click()
# 获取浏览器的所有句柄
handles = driver.window_handles
index_handle = driver.current_window_handle
for handle in handles:
if handle != index_handle:
driver.switch_to.window(handle)
time.sleep(3)
driver.save_screenshot(time.strftime("%Y%m%d-%H%M%S",time.localtime()) + "bijiben.png")
# 选择Thinpad
driver.find_element_by_xpath("//*[@id=\"brand-11518\"]/a").click()
# 选择价格7000以上
driver.find_element_by_xpath("//*[@id=\"J_selectorPrice\"]/div/div[2]/div/ul/li[7]/a").click()
# 选择评论数最高的
driver.find_element_by_xpath("//*[@id=\"J_filter\"]/div[1]/div[1]/a[3]").click()
# 点击排在第一的电脑
driver.find_element_by_xpath("//*[@id=\"plist\"]/ul/li[1]/div/div[1]/a/img").click()
# 由于存在多个页签,需要重新获取handle
handles = driver.window_handles
notebook_handle = driver.current_window_handle
# 切换浏览器页签到电脑详情页
for handle in handles:
if handle != index_handle and handle != notebook_handle:
driver.switch_to.window(handle)
# 滑动滚轮
js = "window.scrollTo(0,1500)"
driver.execute_script(js)
# 选择规格与保证
driver.find_element_by_xpath("//*[@id=\"detail\"]/div[1]/ul/li[2]").click()
finally:
time.sleep(3)
driver.quit()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment