首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过python循环硒测试

如何通过python循环硒测试
EN

Stack Overflow用户
提问于 2019-06-24 12:57:59
回答 1查看 45关注 0票数 0

我已经研究过如何在selenium中循环,但是我还没有看到任何对我有用的答案。基本上,这将是我的代码需要遵循的步骤:

  1. 从csv文件中逐行获取数据,并将其输入web应用程序。
  2. 第1行中的第一个数据将是selenium测试的一个周期,并将数据保存在web应用程序中。
  3. Selenium将再次循环,转到csv文件中的第二行数据,然后再次保存,然后再循环,直到csv中的所有数据都保存在web应用程序中。

这段代码可以工作,但它只是停留在第一行数据上,不会继续到第二行数据,等等。

代码语言:javascript
复制
driver = webdriver.Firefox()
driver.get("https://*****/")

file = open("testfile.csv")
reader = csv.DictReader(file)
data = [row for row in reader]

for row in data:
    Name = (row["Name"])
    Eadd = (row["Eadd"])

time.sleep(10)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").send_keys(Name)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").clear()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").send_keys(Eadd)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-24 13:20:47

下面是您必须实现的逻辑。

代码语言:javascript
复制
driver = webdriver.Firefox()
driver.get("https://*****/")

file = open("testfile.csv")
data = csv.reader(file) #<== if you have a `,` separated csv then you can use below line rather this.
# data = = csv.reader(csvfile, delimiter=',')

for row in data:
    Name = (row["Name"])
    Eadd = (row["Eadd"])

    # use the below if `,` seperated
    #Name = row[0]
    #Eadd = row[1]

    time.sleep(10) 
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").click()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").send_keys(Name)
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").click()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").clear()
    driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").send_keys(Eadd)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56737114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档