python自動化:下拉框定位方法之select標籤 style="display: none;"
報錯
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulatedpython
界面源碼:(禪道爲例)
排查:
1)由於是隱藏的,須要操做其可見纔可定位web
2)若仍是沒法定位,請查看先後是否有sleep等待;xpath定位效率會低點。ide
''' select標籤訂位 使用index 如果操做隱藏的元素的話:style="display: none;";【若不是隱藏的的話不須要js】 js = 'document.querySelectorAll("select")[0].style.display="block";' driver.execute_script(js) ------ document.querySelectorAll("select") 選擇全部的select。 [0] 指定這一組標籤裏的第幾個。 style.display="block"; 修改樣式的display="block" ,表示可見。 執行完這句js代碼後,就能夠正常操做下拉框了。 ''' #index定位;導入:from selenium.webdriver.support.select import Select js = 'document.querySelectorAll("select")[2].style.display="block";'#[2]:從零開始查第幾個就寫幾 driver.execute_script(js) project = driver.find_element_by_xpath("//*[@id='project']") Select(project).select_by_index(1) #從零查第幾個option