電商網站Web自動化測驗實戰( 撰寫京東搜索腳本)
1,打開京東頁
京東首頁地址:https://www.jd.com/,故進入京東首頁如下:
2,打開瀏覽器開發者模式
定位元素前需先打開瀏覽器開發者模式,查看頁面原始碼
例-打開chrome開發者模式:
windows:快捷鍵F12
Mac ios :快捷鍵option+command+i
3,元素定位
元素定位方法可參考:https://www.cnblogs.com/mini-monkey/p/12074940.html
一般元素id存在時,先根據id定位,其次是class、name屬性,然后再是xpath、css等去定位,優先級不一定是這樣的,小編一般習慣這樣定位,大家可以根據實際情況選擇合適的定位方式,(當一種方法無法定位到元素時,可嘗試其他方法進行定位)
京東搜索商品加車程序如下:
首頁點擊搜索框->輸入搜索關鍵詞,點擊搜索btn->點擊商品(進入商詳頁)->點擊“加入購物車”加車
實作搜索加車自動化操作可根據以上步驟展開撰寫,京東搜索商品加車腳本如下(以搜索“微波爐”為例):
備注:由于頁面加載需要一定時間,可在需要等待的地方添加等待時間,
實體代碼詳情
京東搜索加車總代碼如下:
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
import unittest
# 訪問瀏覽器
driver=webdriver.Firefox()
# 把瀏覽器最大化
driver.maximize_window()
# 智能等待 等待的時間是0-6秒
driver.implicitly_wait(6)
#訪問百度首頁
driver.get("https://www.baidu.com")
sleep(3)
print("百度首頁句柄:",driver.current_window_handle)
print("百度首頁標題:",driver.title)
# 訪問京東網站
driver.get("https://www.jd.com")
# 搜索輸入框
search_ele = driver.find_element(By.ID, 'key')
# 輸入關鍵字-微波爐
search_ele.send_keys("微波爐")
# 點擊搜索btn
button = driver.find_element(By.CLASS_NAME,"button").click()
sleep(1)
# 滑動至商品可見
# driver.execute_script("window.scrollBy(0,600)")
driver.find_element(by=By.XPATH,value="https://www.cnblogs.com/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li[1]").click()
sleep(3)
# 點擊第一個商品-進入商詳頁:
ele=driver.find_element(by=By.XPATH,value="https://www.cnblogs.com/html/body/div[5]/div[2]/div[2]/div[1]/div/div[2]/ul/li[1]/div/div[1]/a/img")
ele.click()
windows = driver.window_handles
# 切換至商詳視窗
driver.switch_to.window(windows[-1])
# 向下滑動500個像素
driver.execute_script("window.scrollTo(0,500)")
# 點擊加入購物車
driver.find_element(By.ID,"InitCartUrl").click()
- (滑動至商品可見)與(點擊第一個商品-進入商詳頁)的解決方案
driver.find_element(BY.xxx,yyyy).click()
分2步寫:
ele=driver.find_element(BY.xxx,yyyy)
ele.click()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/543729.html
標籤:Python
