Python+selenium之获取文本值和下拉框选择数据

原文链接地址:https://www.cnblogs.com/Rita-LJ/p/8334526.html

Python+selenium之获取文本值和下拉框选择数据

一、结合实例进行描述

1. 实例如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

#新增标签操作

deffunc_labels(self):

self.driver.find_element_by_xpath("//*[@class='menu-text'][text()='业务管理']").click()

time.sleep(1)

self.driver.find_element_by_xpath("//*[@class='menu-text'][text()='打标签']").click()

time.sleep(1)

self.driver.find_element_by_id("btn-addTag").click()#点击【新增标签】按钮

time.sleep(1)

self.driver.execute_script("$('#tag_receivingId_flexselect').blur();$('#tag_receivingId option:eq(2)').attr('selected',true).change();ecui.form.flexSelect('#tag_receivingId');")#运用js来下拉选择数据(隐藏属性)

#time.sleep(1)

self.driver.execute_script("$('#tag_senderId option:eq(1)').attr('selected',true).change()")#下拉框选中发货方

#time.sleep(1)

self.driver.find_element_by_id('tag_totalCnt').send_keys(3)#填写货品件数

#time.sleep(1)

self.driver.execute_script("$('#tagDetail_prod option:eq(1)').attr('selected',true).change()")#下拉选择“货品信息”

#time.sleep(1)

self.driver.find_element_by_id('tagDetail_prodCount').send_keys(5)#填写数量值

#time.sleep(1)

self.driver.find_element_by_xpath("//button[@data-bb-handler='success']").click()#点击【保存】按钮

#self.driver.find_element_by_xpath("//button[@class='btn btn-purple ehkey-saveAndPrint']").click()#点击【保存并打印】按钮

# < div

# id = "hid_new_tagno"

# style = "display: none" >

#

# < / div >

ls=self.driver.execute_script('return $("#hid_new_tagno").text();')#运用JS来获取内容值

time.sleep(2)

# 参考http://blog.csdn.net/eastmount/article/details/48108259

time.sleep(2)

self.driver.find_element_by_xpath("//span[@class='menu-text'][text()='托运单']").click()

time.sleep(1)

self.driver.find_element_by_xpath("//button[@]").click()

bs=self.driver.find_element_by_id("tag_tagNo")

bs.send_keys(ls)

bs.send_keys(Keys.RETURN)#回车

time.sleep(2)

self.driver.find_element_by_xpath("//button[@class='btn btn-success ehkey-save']").click()

self.driver.quit()  

2.上述代码中:

①self.driver.execute_script("$('#tag_receivingId_flexselect').blur(); $('#tag_receivingId option:eq(2)').attr('selected',true).change(); ecui.form.flexSelect('#tag_receivingId');")#运用js来下拉选择数据(隐藏属性)

②在层级菜单中,一定需要加上一个延时,这里以time.sleep(2)为例,否则,会报错

③ls=self.driver.execute_script('return $("#hid_new_tagno").text();')#使用return返回值,运用JS来获取内容值