弹出窗口中的硒选择按钮

Posted

技术标签:

【中文标题】弹出窗口中的硒选择按钮【英文标题】:Selenium select button from popup window 【发布时间】:2017-09-28 09:02:05 【问题描述】:

我正在尝试使用 Python 和 Selenium 选择确认框。我可以单击“转移”按钮,然后我会收到以下消息提示“您确定要将选定的帐户项目和权限转移到备份备份(备份)吗?”然后有两个按钮1.“取消”2.“确定”

Click transfer button to transfer account

当我到达这部分时,我无法让 Selenium 进入下一步,即单击“确定”按钮。

"OK" button to confirm account transfer

以下是 html

<div style="padding-top: 15px;">
<input id="submit_transfer" class="button" name="submit_transfer" onclick="return verifyTransfer('');" value="Transfer" type="submit"/>
<input id="do_transfer" name="do_transfer" value="0" type="hidden"/>
<input id="delete_user" name="delete_user" value="0" type="hidden"/>
<input id="cancel_transfer" class="button" name="cancel_transfer" value="Cancel" type="submit"/>
</div>
def transfer_account(drive):
    """

    :param drive: 
    :return: 
    """
    transfer_account_xpath = ".//*[@id='submit_transfer']"

    test = ".//*[@id='submit_transfer']"

    transfer_account_ = drive.find_element_by_xpath(transfer_account_xpath)
    transfer_account_.click()

    al = driver.switch_to.alert()
    print al.text

    time.sleep(3)

    # result = None
    # try:
    # except UnexpectedAlertPresentException:
    #     print 'error'

【问题讨论】:

你必须改变一个叫做“框架”的东西。我很久没有使用 selenium,但据我回忆,如果您继续深入查看您网站的 html,您可能会发现不同的“框架”。我不知道该怎么做,但我希望这能将你推向正确的方向 @AbdulrahmanAttia ,这是我没有尝试过的。如果有帮助,我会告诉你的。 看看这个答案。它向您展示了如何做到这一点。 Answer 【参考方案1】:
   try:
    WebDriverWait(drive, 3).until(EC.alert_is_present(),
                                    'Timed out waiting for PA creation ' +
                                    'confirmation popup to appear.')

    alert = drive.switch_to_alert()
    alert.accept()
    print "alert accepted"
except TimeoutException:
    print "no alert"

【讨论】:

以上是关于弹出窗口中的硒选择按钮的主要内容,如果未能解决你的问题,请参考以下文章

c# 弹出选择窗口

如何用jquery 使点击页面按钮后弹出选择文件和文件夹的窗口?这个窗口里面只显示文件夹和.xls

获悉点击了弹出窗口中的哪个按钮

在弹出窗口中添加多个按钮

在VB中怎么用代码弹出输入对话框

UWP - Flyout中的WinRT xaml工具包TreeView,在弹出窗口关闭后更改选择