我尝试点击按钮但是它会抛出错误。
Selenium代码是
WebElement sa = driver.findElement(By.xpath("html/body/div[2]/div/div[7]/div/div/div[2]/div[2]/a[1]/div/div/div[2]"));
((JavascriptExecutor)driver).executeScript("arguments[0].click()", sa);
我得到的错误是:
元素在点(215,105)处不可点击。其他元素会收到点击:
<svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" width="1287" version="1.1" height="100"></svg>
请帮忙。
答案 0 :(得分:0)
尝试显式等待页面加载。或者页面已加载但元素由于某种原因不可见。您可以将页面滚动到元素所在的位置。
(作为IJavaScriptExecutor的驱动程序).ExecuteScript(string.Format(“window.scrollTo(0,{0});”, elementToClick.Location.Y));
//单击元素 elementToClick.Click();
您可以在此处找到示例: Chrome - Element is not clickable at point #2766
答案 1 :(得分:0)
当您使用.click()
WebElement
方法而非使用javascript
click
时,实际提供的异常将被抛出,那么您确定此异常在此行中引入你将使用JavascriptExexutor
??
无论如何,您可以尝试使用By.cssSelector()
点击此div
,如下所示: -
driver.findElement(By.cssSelector("div.question_text")).click();
已修改: - 如果您仍然遇到同样的异常,则需要先使用JavascriptExexutor
滚动到达该元素,然后点击以下内容: -
WebElement el = driver.findElement(By.cssSelector("div.question_text"));
//Now scroll to reach that element
((JavascriptExexutor)driver).exexuteScript("arguments[0].scrollIntoView()", el);
//now click on this link
el.click();