2017-03-03 96 views
0

我想訪問頁面DOM中的元素。我能夠獲取元素並打印它,但無法點擊它。主要原因是因爲有一個頁面切換會在鼠標懸停後出現,並且在您將鼠標指針從其移開時進行檢索。由於此切換功能,我無法點擊切換頂部的按鈕。我嘗試了鼠標懸停,明確的等待和所有其他的事情,但無法點擊按鈕。當我嘗試打印頁面源代碼時,可以看到所有元素,但由於某些原因,它對硒不可見。Selenium:無法鼠標懸停元素

按鈕點擊:

屬性名稱:數據急救= 「SB-切換」

self.driver.find_element_by_css_selector('[data-aid="sb-toggle"]').click()

也試過這樣:

頁面側邊欄標籤,它是可見在頁面中切換。

sideBar = self.driver.find_element_by_class_name('page-sidebar') toggleButton = self.driver.find_element_by_css_selector('[data-aid="sb-toggle"]') hover = ActionChains(self.driver).move_to_element(sideBar).move_to_element(toggleButton) hover.click().build().perform()

MoveTargetOutOfBoundsException:消息:元件內偏移不能被滾動到視圖:(140,288):對象HTMLDivElement]

我沒有收到該元素未發現異常,因爲該元素在頁面源中找到。

回答

0
hover = ActionChains(self.driver).move_by_offset(1,1) 
    hover.click(self.driver.find_element_by_css_selector('[data-aid="sb-toggle"]')).perform() 

偏移量(1,1)如果我把鼠標懸停在頁面的左上角,然後點擊按鈕。