1、問(wèn)題描述
頁(yè)面中有多個(gè)下拉框,每個(gè)下拉框的值都是點(diǎn)擊下拉框后,調(diào)取后臺(tái)接口動(dòng)態(tài)獲取,所有元素的屬性都相同,通過(guò)xpath獲取的是@id+,該id每次加載時(shí)也是動(dòng)態(tài)生成的,所以無(wú)法精準(zhǔn)定位需要的下拉值。
2、解決辦法文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-611242.html
????????通過(guò)分析,首先排除精確定位,可以先獲取下拉框所有的值,通過(guò)for循環(huán)遍歷,找到目標(biāo)值后再click。方法很多,僅供參考。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-611242.html
from selenium import webdriver
from selenium.webdriver.common.by import By
# 操作Chrome瀏覽器,開(kāi)始執(zhí)行
browser = webdriver.Chrome()
browser.implicitly_wait(5)
browser.maximize_window()
browser.get('url')
# 點(diǎn)擊下拉框,使頁(yè)面加載動(dòng)態(tài)下拉框值
browser.find_element(By.XPATH, '//*[@id="root"]/div/div/div/section/mai/div/div[2]/div/div[1]').click()
# 通過(guò)CSS_SELECTOR,根據(jù)下拉框值的共同class屬性獲取所有值,find_elements返回的是列表[]
elements = browser.find_elements(By.CSS_SELECTOR, 'li.ant-select-dropdown-menu-item')
# 遍歷列表,element.text獲取列表值并與實(shí)際需要選擇的值比對(duì),比對(duì)成功后點(diǎn)擊該選項(xiàng)值
for element in elements:
print(element.text)
if element.text == '業(yè)務(wù)領(lǐng)域aa000001': # 可以是==變量
element.click() # 點(diǎn)擊該選項(xiàng)
到了這里,關(guān)于Python Selenium選擇動(dòng)態(tài)下拉框值,定位動(dòng)態(tài)值的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!