Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Selenium-单击一个没有';还没有生成_Javascript_C#_Html_Selenium_Web Scraping - Fatal编程技术网

Javascript Selenium-单击一个没有';还没有生成

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

我正在尝试单击页面上尚不存在的按钮。页面源代码只是框架集中的几个框架,因此默认的驱动程序.FindElement()不起作用。当我检查DOM时,我可以准确地看到需要单击的按钮,但不知道该如何操作

我尝试过使用JavaScript executor,但没有成功

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()
就是答案,我真不敢相信我错过了,谢谢