使用python selenium webdriver从提示警报获取文本

2024-10-02 06:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图刮去这一页:https://foundation.app/@bryanmarktaylor。我的问题是如何获得头像下方复制到剪贴板按钮左侧的数字(0x068C…)。当我在Chrome上使用python selenium webdriver时,浏览器会显示一个prompt alert,上面写着复制到剪贴板:Ctrl+C,输入,并显示一个带有我需要的数字的文本框

我无法检查警报代码以捕获元素。我试过使用

alert = driver.switch_to.alert
alert.send_keys(Keys.CONTROL, 'c')

但它给了我

TypeError: send_keys() takes 2 positional arguments but 3 were given

我也尝试过使用JS脚本

driver.execute_script("""arguments[0].getAttribute("value");""", alert)

但看起来我无法将alert元素作为参数发送

TypeError: Object of type Alert is not JSON serializable

Tags: httpssendapp元素driver数字alertkeys
1条回答
网友
1楼 · 发布于 2024-10-02 06:25:08

您可以重新定义警报以保存消息:

driver.execute_script('window.alert = text => window.alertText = text')
// do something that triggers the alert
alert_text = driver.execute_script('return window.alertText')

相关问题 更多 >

    热门问题