目錄
1.?純文本輸入框
2. 存在默認(rèn)值的文本輸入
?3. 下拉選擇框
4. 輸入后下拉選擇框
5. 文件上傳
6. 時(shí)間插件
1.?純文本輸入框
driver.find_element(By.XPATH,'/html/body/div[2]/td[2]/input').send_keys('測(cè)試名稱')
2. 存在默認(rèn)值的文本輸入
注意:
1. 這種存在默認(rèn)值的情況在做自動(dòng)化測(cè)試的時(shí)候可以選擇不做處理,直接略過(guò)該元素,也可以先將默認(rèn)值清除后再進(jìn)行輸入的方式進(jìn)行測(cè)試
2.如果是下圖這種需要具有唯一性的數(shù)據(jù),可以使用隨機(jī)數(shù)的方式進(jìn)行寫入,可以有效避免沖出ID出現(xiàn)
driver.find_element(By.XPATH,'/html/body/div[2]/tr[3]/td[2]/input').clear()
driver.find_element(By.XPATH,'/html/body/div[2]/tr[3]/td[2]/input').send_keys('ID123'+str(randint(100,999))+'K')
?3. 下拉選擇框
Select(driver.find_element(By.XPATH,'/html/body/div[2]/tr[8]/td[2]/select')).select_by_value('1')
4. 輸入后下拉選擇框
注意:下拉選擇的元素為【<strong>baidu12 [null]</strong>】,使用xpath的方式可能無(wú)法定位到,可以通過(guò)手寫xpath來(lái)完成
# 先找到元素后輸入關(guān)鍵詞
driver.find_element(By.XPATH,'/html/body/div[2]/tr[6]/td[2]/input[1]').send_keys('baidu12')
sleep(2)
# 等待2秒讓下拉框能加載完成后選擇需要的選擇后點(diǎn)擊
# 這種下拉選擇元素的xpath不確定,所以可以根據(jù)標(biāo)簽來(lái)手動(dòng)寫xpath
driver.find_element(By.XPATH,'//strong[text()="baidu12"]').click()
5. 文件上傳
- 文件上傳因?yàn)辄c(diǎn)擊【瀏覽】選擇的框非瀏覽器中的操作了,因?yàn)闊o(wú)法使用自動(dòng)化腳本來(lái)進(jìn)行選擇,選擇使用強(qiáng)制寫入的方式將文件路徑寫入
- 文件上傳有個(gè)明顯特征就是【type="file"】,只要照導(dǎo)這個(gè)就能進(jìn)行寫入,如下
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-740792.html
driver.find_element(By.XPATH,'/html/body/div[2]/tr[14]/td[2]/span/div[1]/div/div/button').click()
sleep(5)
# 這里應(yīng)該【本地上傳】的xpath一直會(huì)變,所以使用文本的方式點(diǎn)擊會(huì)更準(zhǔn)確一點(diǎn) //li[text()='本地上傳']
driver.find_element(By.XPATH,'//li[text()="本地上傳"]').click()
sleep(2)
# 文件上傳需要寫入外部文件,自動(dòng)化腳本無(wú)法點(diǎn)擊瀏覽器外的內(nèi)容,所以這里選擇強(qiáng)制寫入文件的方式,注意一點(diǎn)就是文件的type=file,所以這里一定要找type=file的元素對(duì)應(yīng)xpath
driver.find_element(By.XPATH,'//input[@type="file"]').send_keys(r'D:\python\test\1.png')
sleep(1)
driver.find_element(By.XPATH,'/html/body/div[6]/div[1]/div[3]/span[1]/input').click()
6. 時(shí)間插件
- 時(shí)間插件選擇首先需要獲取到輸入框的xpath:e = driver.find_element(By.XPATH,'//*[@id="start_time"]')
- 根據(jù)獲取到的XPATH在js中可以調(diào)試:$x('//*[@id="start_time"]')[0].value='2023-10-06 10:00:38'
- 然后進(jìn)行強(qiáng)制寫入的方式進(jìn)行:driver.execute_script('arguments[0].value="2023-10-06 10:00:38"',e)
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-740792.html
driver.implicitly_wait(3)
e = driver.find_element(By.XPATH,'//*[@id="start_time"]')
# 時(shí)間插件可以使用強(qiáng)制輸入的形式寫入時(shí)間,但是需要配合JS進(jìn)行,方法如下
driver.execute_script('arguments[0].value="2023-10-06 10:00:00"',e)
到了這里,關(guān)于從0開始python學(xué)習(xí)-31.selenium 文本輸入框、下拉選擇框、文件上傳、時(shí)間插件選擇元素定位的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!