想象一下,有一个按钮可以打开一个JavaScript提示框,向用户展示数据并允许他们轻松复制。
<!DOCTYPE html>
<html>
<body>
<button id="show-coordinates" onclick="prompt('This is your coordinates', '4.684032, -74.109663');">
Show Coordinates
</button>
</body>
</html>
This is your coordinates
),但据我所见,没有提供值的方法。也可以考虑使用原生JavaScript解决方案(当然不能访问
<button>
元素的onclick
属性。我将事件处理程序放在DOM中只是为了更容易地说明问题)。driver.find_element(:id, 'show-coordinates').click
popup = driver.switch_to.alert
puts popup.text # This is your coordinates
# But how to get "4.684032, -74.109663"?
onclick
属性。请检查传递给prompt
的参数是否正确。否则,您只是在测试本机浏览器的prompt
方法是否有效。我向您保证,浏览器供应商已经为此进行了测试:) - Heretic Monkeyonclick
事件处理程序可能不在 DOM 中。想法是获取坐标以供进一步使用,而不是测试它们是否存在,因此浏览器的工作方式似乎是无关紧要的。 :( Selenium 自动化浏览器,不仅仅是为了测试目的。还有其他建议吗? - Yi Zeng