题外扩展统计问题点收集
问题1明明元素定位了却不能点击
答在代码点击【首页】【地址管理】行前放刷新页面代码
driver.refresh()#刷新页面
问题2明明元素定位了却还不能点击2【增加新地址】
答方法1调用鼠标模式.double_click双击解决
from selenium.webdriver import ActionChains #鼠标导包
action = ActionChains(driver)
action.double_click(driver.find_element_by_xpath('//*[text()="增加新地址"]')).perform()
答优化方法2调用窗口最大化添加一行driver.maximize_window()
driver = webdriver.Chrome()
driver.maximize_window()
扩展:#select方式选择广东省
select=Select(driver.find_element_by_id('province'))
select.select_by_visible_text('广东')
问题3第二个地址下拉框元素可以定位却无法选中执行
答方法1选中下拉框后暂停1秒用于执行下拉框后续点击动作
driver.find_element_by_id('city').click()#选中市级城市
time.sleep(1)#停留1秒选中广州市
driver.find_element_by_xpath('//option[@value="1601"]').click()
答优化方法2还是select方式选择城市只是在执行select前1行加个延迟time.sleep(1)
time.sleep(1)#停留1秒选中广州市
select=Select(driver.find_element_by_id('city'))
select.select_by_visible_text('广州市')
import timefrom selenium import webdriver# 创建浏览器对象1、使用Chrome浏览器打开Tpshopfrom selenium.webdriver import ActionChains#导包鼠标from selenium.webdriver.support.select import Select#导包Selectdriver = webdriver.Chrome()driver.get("http://hmshop-/Home/user/login.html")#前置条件【登录成功】driver.find_element_by_css_selector("input#username").send_keys("123456@")driver.find_element_by_css_selector("input#password").send_keys("123456")driver.find_element_by_css_selector("input#verify_code").send_keys("8888")driver.find_element_by_css_selector("a.J-login-submit").click()driver.refresh()#刷新页面点击【地址管理】【增加新地址】driver.find_element_by_xpath('//*[text()="地址管理"]').click()action = ActionChains(driver)#调用鼠标双击【增加新地址】action.double_click(driver.find_element_by_xpath('//*[text()="增加新地址"]')).perform()#增加新地址中收货人:张三,手机:15000000002driver.find_element_by_xpath('//*[@name="consignee"]').send_keys("张三")driver.find_element_by_xpath('//*[@name="mobile"]').send_keys("15000000002")#select方式选择广东省select=Select(driver.find_element_by_id('province'))select.select_by_visible_text('广东')driver.find_element_by_id('city').click()time.sleep(1)#停留1秒选中广州市driver.find_element_by_xpath('//option[@value="1601"]').click()driver.find_element_by_id('district').click()time.sleep(1)#停留1秒选中天河区driver.find_element_by_xpath('//option[@value="3633"]').click()#详细地址珠吉街道test并点击保存退出driver.find_element_by_xpath('//*[@name="address"]').send_keys("珠吉街道test")driver.find_element_by_css_selector("button").click()#点击保存# 暂停3秒time.sleep(3)# 关闭浏览器驱动对象driver.quit()
import time#优化后方法2from selenium import webdriverfrom selenium.webdriver.support.select import Select#导包Select# 创建浏览器对象1、使用Chrome浏览器打开Tpshopdriver = webdriver.Chrome()driver.maximize_window()#最大化窗口driver.get("http://hmshop-/Home/user/login.html")#前置条件【登录成功】driver.find_element_by_css_selector("input#username").send_keys("123456@")driver.find_element_by_css_selector("input#password").send_keys("123456")driver.find_element_by_css_selector("input#verify_code").send_keys("8888")driver.find_element_by_css_selector("a.J-login-submit").click()driver.refresh()#刷新页面点击【地址管理】【增加新地址】driver.find_element_by_xpath('//*[text()="地址管理"]').click()driver.find_element_by_xpath('//*[text()="增加新地址"]').click()#增加新地址中收货人:张三,手机:15000000002driver.find_element_by_xpath('//*[@name="consignee"]').send_keys("张三")driver.find_element_by_xpath('//*[@name="mobile"]').send_keys("15000000002")#select方式选择广东省select=Select(driver.find_element_by_id('province'))select.select_by_visible_text('广东')time.sleep(1)#停留1秒选中广州市select=Select(driver.find_element_by_id('city'))select.select_by_visible_text('广州市')time.sleep(1)#停留1秒选中天河区select=Select(driver.find_element_by_id('district'))select.select_by_visible_text('天河区')#详细地址珠吉街道test并点击保存退出driver.find_element_by_xpath('//*[@name="address"]').send_keys("珠吉街道test")driver.find_element_by_css_selector("button").click()#点击保存# 暂停3秒time.sleep(3)# 关闭浏览器驱动对象driver.quit()