如何检测浏览器是否运行任何javascript(不更改页面上的js)
我正在为selenium开发自定义php客户端,但在实现如何检测浏览器是否运行任何javascript(不更改页面上的js),javascript,browser,selenium,Javascript,Browser,Selenium,我正在为selenium开发自定义php客户端,但在实现waitForPageToLoad()函数时遇到问题: 问题是仅仅检查document.readyState是不够的-页面上可能运行一些JS脚本(例如,单击按钮后的一些动画),这将迫使我的waitForPageToLoad()函数继续等待,但是在这种情况下,document.readyState返回complete状态 另一个问题是我不能使用回调,因为我不知道在一个页面上运行什么js。尽管如此,我可以在页面上插入一些js,但我必须确保它不会
waitForPageToLoad()
函数时遇到问题:
问题是仅仅检查document.readyState
是不够的-页面上可能运行一些JS脚本(例如,单击按钮后的一些动画),这将迫使我的waitForPageToLoad()
函数继续等待,但是在这种情况下,document.readyState
返回complete
状态
另一个问题是我不能使用回调,因为我不知道在一个页面上运行什么js。尽管如此,我可以在页面上插入一些js,但我必须确保它不会影响页面的正常行为
有人能提出一个可能的解决方案吗?
目前我正在使用最新的FF浏览器
谢谢。无法检查JavaScript当前是否正在运行 您可以等待元素出现 对于Python,它的工作原理如下:
from selenium.webdriver.support import expected_conditions as EC # noqa
driver = webdriver.Chrome(...)
el = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//a")) # change to your needs
)
另请参见:+1至少对于上述内容,没有可靠的方法。请注意,这正是WebDriver API没有
waitForPageToLoad()概念的原因。
。在一个DOM因JavaScript而不断变化的世界中,“页面已完全加载”是一个不可能以一刀切的方式应用的概念。谢谢。我有同样的观点,但需要确认。