15889369825 发表于 2016-12-23 14:02:24

python


# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re

class test (unittest.TestCase):
    def setUp(self):
      self.driver = webdriver.Chrome()
      self.driver.implicitly_wait(30)
      self.base_url = "http://test.robotscloud.com/"
      self.verificationErrors = []
      self.accept_next_alert = True

    def test_89(self):
      driver = self.driver
      driver.get(self.base_url + "/")
      driver.find_element_by_id("email").send_keys("15889369825@163.com")
      driver.find_element_by_id("password").send_keys("123456")
      driver.find_element_by_id("check").send_keys("1111")
      driver.find_element_by_id("submit").click()
      driver.find_element_by_link_text(u"产品服务").click()
      driver.find_element_by_link_text(u"型号设置").click()
      driver.find_element_by_id("addUser").click()
      time.sleep(2)
      driver.find_element_by_id("product_type").click()
      driver.find_element_by_link_text(u"申请").click()
      driver.find_element_by_id("entryTypeName").send_keys(u"付额外夫妇对方会儿防护回复回复而文化符号符合符合无法负责无回复33u3u2heu32e23e 3额饿3 3额の2额3额3饿のの の2额 额3饿3 饿饿3 额32饿")
      driver.find_element_by_css_selector("span.label").click()
      driver.find_element_by_css_selector("li.last").click()
      driver.find_element_by_id("explain").clear()
      driver.find_element_by_id("explain").send_keys(u"2の2 额3额3额23饿3 饿")
      driver.find_element_by_css_selector("#modelAddModel2 > div.modal-dialog.modal-type-1 > div.modal-body > form.form-horizontal > div.form-group.button-group > button.btn.btn-blue").click()
      driver.find_element_by_id(u"addUser").click()
      driver.find_element_by_css_selector("#modelAddModel > div.modal-dialog.modal-type-1 > div.modal-content > div.modal-header > button.close").click()
      time.sleep(2)
      driver.find_element_by_link_text(u"新增").click()
      driver.find_element_by_id("product_type").click()
      time.sleep(2)
      driver.find_element_by_link_text("//span[@value='8']").click()
      driver.find_element_by_xpath("(//button[@type='button'])").click()
      driver.find_element_by_id("product_type").click()
      driver.find_element_by_xpath("//div[@id='modelAddModel']/div/div/div/form/div/div").click()
      driver.find_element_by_id("model_name").clear()
      driver.find_element_by_id("model_name").send_keys(u"手机产品")
      driver.find_element_by_xpath("(//button[@type='button'])").click()
      driver.find_element_by_id("product_name").clear()
      driver.find_element_by_id("product_name").send_keys(u"手机")
      driver.find_element_by_xpath("(//button[@type='button'])").click()
      driver.find_element_by_css_selector("div.radio.second > label.radio-label").click()
      driver.find_element_by_css_selector("div.radio.second > label.radio-label > input").click()
      driver.find_element_by_xpath("(//button[@type='button'])").click()
      driver.find_element_by_xpath("(//button[@type='button'])").click()
      driver.find_element_by_xpath("(//button[@type='button'])").click()

怎么反复定位driver.find_element_by_id(u"addUser").click()   

若尘_51 发表于 2016-12-23 14:40:44

童靴,这么抛出一句:反复定位driver.find_element_by_id(u"addUser").click() ?
别人很难知道你具体要怎么样的,还是描述清楚点。

15889369825 发表于 2016-12-23 14:49:44

若尘_51 发表于 2016-12-23 14:40
童靴,这么抛出一句:反复定位driver.find_element_by_id(u"addUser").click() ?
别人很难知道你具体要怎 ...

就是我第一次调用了adduser   新增完后   我在想新增第二次   第三次这样我要怎么办

若尘_51 发表于 2016-12-23 15:51:57

15889369825 发表于 2016-12-23 14:49
就是我第一次调用了adduser   新增完后   我在想新增第二次   第三次这样我要怎么办

用For循环不就可以了吗?

15889369825 发表于 2016-12-23 16:15:02

若尘_51 发表于 2016-12-23 15:51
用For循环不就可以了吗?

能在我上传文本中插入for看看么,我加入的跑不通

若尘_51 发表于 2016-12-23 16:25:35

15889369825 发表于 2016-12-23 16:15
能在我上传文本中插入for看看么,我加入的跑不通

好吧,写个代码给你参考下:

#--------功能:循环执行多次-----------------
#text_value值有多少个就循环多少次,不过可以继续加
text_value =

#或者可以写成for num in range(4):   --数字几代表执行几次
for num in range(len(text_value)):
    driver.find_element_by_id("addUser").click()
    time.sleep(2)
    driver.find_element_by_id("product_type").click()
    driver.find_element_by_link_text(u"申请").click()
    ...
    #将text_value的值依次(键盘输入)给xpath为xxx的元素
    driver.find_element_by_xpath("xxx").send_keys(text_value)      
    time.sleep(1)
    ...

15889369825 发表于 2016-12-23 16:38:33

若尘_51 发表于 2016-12-23 16:25
好吧,写个代码给你参考下:

#--------功能:循环执行多次-----------------


谢谢,好好参考下

梦想家 发表于 2016-12-24 09:08:27

:)

qiguojie 发表于 2016-12-30 15:52:08

引入ddt吧

nanguofeng1987 发表于 2017-1-3 15:05:17

for循环可以解决
页: [1]
查看完整版本: python