我正在尝试访问页面DOM中的元素。我能够获取元素并打印它但无法单击它。主要原因是因为有一个页面切换,一旦你将鼠标悬停在它上面,当你将鼠标指针移离它时会检索到它。由于此切换功能,切换器顶部有一个按钮,我无法单击该按钮。我试过鼠标,显式等待和所有其他的东西,但无法点击按钮。当我尝试打印页面源时,我可以看到所有元素,但由于某种原因,它对selenium不可见。
点击按钮:
属性名称:data-aid =“sb-toggle”
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):[object HTMLDivElement]
我没有找到元素未找到异常,因为该元素在页面源中找到。
答案 0 :(得分: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),如果我悬停到的页面的左上角然后单击按钮。