Selenium Java-无法单击Google搜索

Selenium Java-无法单击Google搜索,java,selenium,google-chrome,Java,Selenium,Google Chrome,我看到很多线程都有这个问题,但没有一个线程对我有效,因为我尝试了几乎所有可能的方法,但仍然得到错误“线程中的异常”main“org.openqa.selenium.element ClickInterception:element ClickInterception” 您可以使用这个简化的Xpath://input[@name='q']或driver.findElement(By.name(“q”)).sendKeys(“568567546754”) 或者你可以试试这个 JavascriptEx

我看到很多线程都有这个问题,但没有一个线程对我有效,因为我尝试了几乎所有可能的方法,但仍然得到错误“线程中的异常”main“org.openqa.selenium.element ClickInterception:element ClickInterception”


您可以使用这个简化的Xpath://input[@name='q']或
driver.findElement(By.name(“q”)).sendKeys(“568567546754”)

或者你可以试试这个

JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("\$x("//input[@name='q']")[0].value="Car"\");
请查看此代码段

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;

public class SearchAction{
   public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","./chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      driver.get("https://www.google.com/");
      // identify element
      WebElement p=driver.findElement(By.name("q"));
      //enter text with sendKeys() then apply submit()
      p.sendKeys("Selenium Java");
      // Explicit wait condition for search results
      WebDriverWait w = new WebDriverWait(driver, 5);
      w.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//ul")));
      p.submit();
      driver.close();
   }
}

您可以使用这个简化的Xpath://input[@name='q']或
driver.findElement(By.name(“q”)).sendKeys(“568567546754”)

或者你可以试试这个

JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("\$x("//input[@name='q']")[0].value="Car"\");
请查看此代码段

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;

public class SearchAction{
   public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","./chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      driver.get("https://www.google.com/");
      // identify element
      WebElement p=driver.findElement(By.name("q"));
      //enter text with sendKeys() then apply submit()
      p.sendKeys("Selenium Java");
      // Explicit wait condition for search results
      WebDriverWait w = new WebDriverWait(driver, 5);
      w.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//ul")));
      p.submit();
      driver.close();
   }
}

请试试这个,它会有用的。As Enter将执行与单击搜索按钮相同的操作

driver.findElement(By.name("q")).sendKeys("568567546754" + Keys.ENTER);
这里我没有使用xpath搜索文本字段,因为我找到了name属性。
您可以发送搜索文本并一次性输入。

请尝试此操作,它会起作用。As Enter将执行与单击搜索按钮相同的操作

driver.findElement(By.name("q")).sendKeys("568567546754" + Keys.ENTER);
这里我没有使用xpath搜索文本字段,因为我找到了name属性。
您可以发送搜索文本并一次性输入。

您可以在此处使用Action类

driver.get("https://www.google.com/");
driver.findElement(By.xpath("//input[@title='Search']")).sendKeys("568567546754");
Robot ab = new Robot();
ab.keyPress(KeyEvent.VK_ENTER);

您可以在这里使用Action类

driver.get("https://www.google.com/");
driver.findElement(By.xpath("//input[@title='Search']")).sendKeys("568567546754");
Robot ab = new Robot();
ab.keyPress(KeyEvent.VK_ENTER);

你从哪里得到的错误?通常这意味着有一个覆盖层或其他元素覆盖您要单击的元素。你确定了吗?解决方案是的,我通过上面的链接解决了这个问题。似乎我必须切换到框架才能同意,然后点击谷歌的搜索按钮。你从哪里得到错误?通常这意味着有一个覆盖层或其他元素覆盖您要单击的元素。你确定了吗?解决方案是的,我通过上面的链接解决了这个问题。看来我必须切换到框架才能同意,然后点击谷歌的搜索按钮。你好,拉胡尔,我已经尝试了所有可能的方法(我猜),但都不起作用。谢谢你好,拉胡尔,我已经尝试了所有可能的方法(我猜),但都不起作用。谢谢也可以在不使用“+”driver.findElement(By.name(“q”)).sendKeys(“568567546754”,Keys.ENTER”)的情况下工作;是的,它也可以工作。也可以在不使用“+”驱动程序的情况下工作。findElement(By.name(“q”))。sendKeys(“568567546754”,Keys.ENTER);是的,它也会起作用。