import time from selenium import webdriver from selenium.webdriver.support.select import Select # 1.登录 driver = webdriver.Chrome() driver.implicitly_wait(10) driver.maximize_window() driver.get("http://172.0.0.1/index.php?m=user&c=public&a=login") driver.find_element_by_id("username").send_keys("yaya") driver.find_element_by_id("password").send_keys("123456") driver.find_element_by_class_name("login_btn").click() time.sleep(3) # 2.点击“进入商城购物” driver.find_element_by_link_text("进入商城购物").click() # 3.搜索“iphone” driver.find_element_by_name("keyword").send_keys("iphone") driver.find_element_by_class_name("btn1").click() # 4.点击商品图片 driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[3]/div[1]/div[1]/a/img").click() # 5、切换窗口: # 5.1.找到新窗口的名字 new_window = driver.window_handles[-1] # 5.2.切换到新窗口、 driver.switch_to.window(new_window) # 6.把选择的商品加入购物车 driver.find_element_by_id("joinCarButton").click() #7,去购物车结算 driver.find_element_by_class_name("shopCar_T_span3").click() # 点击“结算” driver.find_element_by_css_selector(".shopCar_btn_03.fl").click() # 8.添加新地址 driver.find_element_by_class_name("add-address").click() # 9.收货人姓名 driver.find_element_by_name("address[address_name]").send_keys("yaya") # 10.输入手机号 driver.find_element_by_name("address[mobile]").send_keys("13612563478") # 11.选择收货地区--省 sheng = driver.find_element_by_id("add-new-area-select") Select(sheng).select_by_visible_text("广东省") # 12.选择收货地区--市 shi = driver.find_elements_by_class_name("add-new-area-select")[1] Select(shi).select_by_visible_text("深圳市") # 13.选择--地区 qu = driver.find_elements_by_tag_name("select")[2] Select(qu).select_by_visible_text("宝安区") #14输入街道 driver.find_element_by_name('address[address]').send_keys('大街1号') #15.输入邮编 driver.find_element_by_name('address[zipcode]').send_keys('721405') #16.点击确定 driver.find_element_by_xpath("/html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[3]/td/div/button[1]").click()
遇见问题:
1、出现分页,当出现分页时需要把定位的页面进行切换,具体方法:
# 5.1.找到新窗口的名字,new_window是一个列表,[-1]是定位到最后一个页签
new_window = driver.window_handles[-1]
# 5.2.切换到新窗口、
driver.switch_to.window(new_window)
2、出现界面有下拉框进行选择时,此时定位不到元素,需要进行转换:
from selenium.webdriver.support.select import Select
sheng = driver.find_element_by_id("add-new-area-select")
Select(sheng).select_by_visible_text("广东省")
3、当页面打开较慢,存在不稳定性时,需要加延时
import time
time.sleep(3)