当前位置: 首页 > 面试题库 >

Selenium Webdriver单击Google搜索

凤扬
2023-03-14
问题内容

我正在搜索文字“奶酪!”
在Google主页上,并不确定在按搜索按钮后如何才能单击搜索到的链接。例如,我想单击搜索页面顶部的第三个链接,然后如何找到标识的链接并单击它。到目前为止,我的代码:

package mypackage;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.support.ui.WebDriverWait;

public class myclass {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\selenium-java-2.35.0\\chromedriver_win32_2.2\\chromedriver.exe");

         WebDriver driver = new ChromeDriver(); 
         driver.get("http://www.google.com"); 
         WebElement element = driver.findElement(By.name("q"));
         element.sendKeys("Cheese!");
         element.submit();

         //driver.close();
    }



}

问题答案:

Google缩小了CSS类等,因此识别所有内容并不容易。

另外,您还有一个问题,必须“等待”,直到站点显示结果为止。我会这样做:

public static void main(String[] args) {

    WebDriver driver = new FirefoxDriver();
    driver.get("http://www.google.com");
    WebElement element = driver.findElement(By.name("q"));
    element.sendKeys("Cheese!\n"); // send also a "\n"
    element.submit();

    // wait until the google page shows the result
    WebElement myDynamicElement = (new WebDriverWait(driver, 10))
              .until(ExpectedConditions.presenceOfElementLocated(By.id("resultStats")));

    List<WebElement> findElements = driver.findElements(By.xpath("//*[@id='rso']//h3/a"));

    // this are all the links you like to visit
    for (WebElement webElement : findElements)
    {
        System.out.println(webElement.getAttribute("href"));
    }
}

这将为您打印:

  • http://de.wikipedia.org/wiki/奶酪
  • http://en.wikipedia.org/wiki/奶酪
  • http://www.dict.cc/englisch-deutsch/cheese.html
  • http://www.cheese.com/
  • http://projects.gnome.org/cheese/
  • http://wiki.ubuntuusers.de/奶酪
  • http://www.ilovecheese.com/
  • http://cheese.slowfood.it/
  • http://cheese.slowfood.it/en/
  • http://www.slowfood.de/termine/termine_international/cheese_2013/


 类似资料:
  • 问题内容: 当前使用Selenium + Python和以下代码: 作为我的代码。 发生什么:转到Google并输入单词并点击搜索。向下滚动一点,然后单击第一个链接 我想要的是:我希望能够从搜索结果页面中单击随机链接 这该怎么做? 编辑:这就是我说不必要的意思:不必要的1:https ://imgur.com/a/70qz89x 不必要的2:https : //imgur.com/a/8WWvcn

  • 12.7. 搜索 Google 让我们回到这章开始时你看到的那段代码,获得比当前气温更有价值和令人振奋的信息。 Google 提供了一个 SOAP API ,以便通过程序进行 Google 搜索。使用它的前提是,你注册了 Google 网络服务。 过程 12.4. 注册 Google 网络服务 访问 http://www.google.com/apis/ 并创建一个账号。 唯一的需要是提供一个 E

  • 在GoogleSheets中,您可以将可单击的图像插入到单元格中,该单元格链接到应用程序脚本中的函数。我们还可以插入这个可点击的图像,并使用谷歌电子表格API将其链接到我们服务器上的应用程序脚本吗?或者我们可以从服务器调用应用程序脚本? https://developers.google.com/apps-script/guides/menus#clickable_images_and_drawi

  • 我试图找出如何搜索google表单响应(GoogleSheets),以便找到用于提取数据的行数和列数的值。 我有其他的一切,但搜索列和行,我不知道如何进行2D搜索。 这是我想要搜索和提取的数据,但我不想要所有的数据,只想要特定的单元格/区域。 https://docs.google.com/spreadsheets/d/1ehA0fXBM6CPBAKfHvBbouRPjOMDxrXSdFI0zMy

  • Google AJAX 搜索 API 可让您通过 JavaScript 将 Google 搜索放在网页中。您可以嵌入一个简易的动态搜索框,并可以在自己的网页上显示搜索结果,或者以创新的编程方式使用这些结果。 主要用途: 1. 将 Google 网页搜索、资讯搜索和博客搜索集成到您的网站中。 2. 将本地搜索结果添加到您的网站中,或者使用 Google 地图 API 混搭集成这些结果。 3. 将 Y

  • 问题内容: 我必须选中以下HTML代码段中包含的复选框。该复选框包含在输入标签中 我已经尝试过各种方法来识别并选择它,但是它从来都不可见。我已将复选框标签的文本打印到控制台,因此无法理解为什么复选框本身不可见。以下Java代码成功打印了标签,但未能单击复选框,并抛出错误元素不可见。 我尝试了不同的等待,但均未成功。 任何人都可以在这里向我指出正确的方向 谢谢。 问题答案: 尝试使用javascri