Python 3 + Selenium:单击元素但没有任何反应

时间:2016-08-31 07:59:57

标签: javascript python facebook selenium xpath

该元素被点击,我没有得到任何错误,但弹出窗口("添加精选照片"在Facebook中弹出窗口)仍然存在。它没有关闭。

这是html代码:

<div class="_5lnf uiOverlayFooter _5a8u">
   <table class="uiGrid _51mz uiOverlayFooterGrid" cellspacing="0" cellpadding="0">
      <tbody>
          <tr class="_51mx">
             <td class="_51m- prs uiOverlayFooterMessage">
             <td class="_51m- uiOverlayFooterButtons _51mw">
                <a class="_42ft _4jy0 layerCancel uiOverlayButton _4jy3 _517h _51sy" href="#" role="button">Cancel</a>
                <button class="_42ft _4jy0 layerConfirm uiOverlayButton _4jy3 _4jy1 selected _51sy" type="submit" value="1">Save</button>
             </td>
         </tr>
      </tbody>
   </table>
</div>

这是我的代码:

driver.find_element_by_xpath(".//button[@class='_42ft _4jy0 layerConfirm uiOverlayButton _4jy3 _4jy1 selected _51sy']") 

如何点击&#34;保存&#34;按钮关闭弹出窗口?非常感谢你:))

2 个答案:

答案 0 :(得分:3)

您可以在点击之前滚动到该按钮

from selenium.webdriver.common.action_chains import ActionChains

button = driver.find_element_by_xpath(".//button[@class='_42ft _4jy0 layerConfirm uiOverlayButton _4jy3 _4jy1 selected _51sy']")
ActionChains(driver).move_to_element(button).perform()
button.click()

答案 1 :(得分:1)

试试这个

driver.find_element_by_xpath("//button[text() = 'Save']").click()