我們項目的頁面有一個下拉列表,但不是select類型,無法通過封裝稱Select來操作。看了很多文章都寫通過js代碼driver.execute_script("window.scrollTo(0,10000)")可以實現(xiàn)滾動,但我怎么試都不行,就選擇換一種思路,通過鍵盤向下鍵來代替鼠標滾動
我們項目的下拉列表是ul類型,列表中的值是li類型
在頁面上點擊這個標注文字時在下方出現(xiàn)下拉框,我先用截圖工具截取圖中紅線區(qū)域,計算從該按鈕中心移動到右側(cè)下拉滾動條的像素距離,然后用move_to_element_with_offset方法將鼠標移動到進度條上,單擊進度條后,再用鍵盤事件send_keys(Keys.DOWN)的向下鍵即可實現(xiàn)下拉列表向下滾動
?
?代碼參考文章來源:http://www.zghlxwxcb.cn/news/detail-721152.html
from selenium.webdriver import Keys
from selenium.webdriver.common.action_chains import ActionChains
def scroll_down(self,element):
#頁面定位到標注按鈕
tagging_button = self.find_element_by_xpath(element)
#178,100就是上圖中紅線框的長和寬,將鼠標從標注按鈕移到進度條
self.move_to_element_with_offset(tagging_button, 178, 100)
actions = ActionChains(driver)
#點擊進度條
actions.click()
i = 0
while i < 8:
#鍵盤向下一次
actions.send_keys(Keys.DOWN).perform()
i = i + 1
time.sleep(1)
?文章來源地址http://www.zghlxwxcb.cn/news/detail-721152.html
到了這里,關(guān)于python+selenium下拉列表,滾動條操作失效時,用鍵盤向下鍵代替的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!