Javascript Selenium-单击一个没有';还没有生成
我正在尝试单击页面上尚不存在的按钮。页面源代码只是框架集中的几个框架,因此默认的驱动程序.FindElement()不起作用。当我检查DOM时,我可以准确地看到需要单击的按钮,但不知道该如何操作 我尝试过使用JavaScript executor,但没有成功Javascript Selenium-单击一个没有';还没有生成,javascript,c#,html,selenium,web-scraping,Javascript,C#,Html,Selenium,Web Scraping,我正在尝试单击页面上尚不存在的按钮。页面源代码只是框架集中的几个框架,因此默认的驱动程序.FindElement()不起作用。当我检查DOM时,我可以准确地看到需要单击的按钮,但不知道该如何操作 我尝试过使用JavaScript executor,但没有成功 IJavaScriptExecutor js = (IJavaScriptExecutor)driver; js.ExecuteScript("document.getElementById('menu').getElementsByCl
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("document.getElementById('menu').getElementsByClassName( 'a' )[0].click()");
如果您需要等待元素,请尝试显式/隐式等待;如果您需要在框架内定位元素,请使用
SwitchTo().frame()
如果您在调试器中单步执行代码并等待足够长的时间,以便看到该按钮,那么您的代码是否能够单击该按钮?或者,如果将Thread.Sleep(5000)放在调用之前,代码是否工作?你从司机那里收到的错误是什么?这是超时还是无接触异常?当您尝试执行单击时,页面似乎未加载。您始终可以添加一个等待和等待,直到您的元素显示并启用。SwitchTo().Frame()
是答案,不敢相信我错过了,谢谢如果您需要等待元素,请尝试显式/隐式等待,如果您需要在框架内定位元素,请使用SwitchTo().Frame()
如果您在调试器中单步执行代码并等待足够长的时间,因此看到按钮,那么您的代码是否能够单击按钮?或者,如果将Thread.Sleep(5000)放在调用之前,代码是否工作?你从司机那里收到的错误是什么?这是超时还是无接触异常?当您尝试执行单击时,页面似乎未加载。您可以始终添加一个等待,直到元素显示并启用。SwitchTo().Frame()
就是答案,我真不敢相信我错过了,谢谢