原文鏈接地址: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
|
#新增標簽操作
def
func_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[@id='btn-addTag']"
).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來獲取內容值
