用于在selenium中选择值的PartialLink文本
场景:使用单词“Selenium”搜索google,然后单击第一个链接 我编写了以下代码:用于在selenium中选择值的PartialLink文本,selenium,selenium-webdriver,Selenium,Selenium Webdriver,场景:使用单词“Selenium”搜索google,然后单击第一个链接 我编写了以下代码: `WebDriver driver = new FirefoxDriver(); driver.get("https://www.google.com/"); driver.manage().window().maximize(); driver.findElement(By.id("lst-ib")).sendKeys("Selenium"); List<WebElement>
`WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.com/");
driver.manage().window().maximize();
driver.findElement(By.id("lst-ib")).sendKeys("Selenium");
List<WebElement> alist = driver.findElements(By.partialLinkText("Selenium"));
System.out.println(alist.size());`
`WebDriver=newfirefoxdriver();
驱动程序。获取(“https://www.google.com/");
driver.manage().window().maximize();
driver.findElement(By.id(“lst ib”)).sendKeys(“Selenium”);
List alist=driver.findElements(By.partialLinkText(“Selenium”);
System.out.println(alist.size())`
但它给我的尺寸是零。为什么?您的问题之所以出现,是因为您没有在搜索后等待。请稍等片刻,以便浏览器可以搜索并显示结果。使用以下代码:
driver.findElement(By.id("lst-ib")).sendKeys("Selenium");
Thread.sleep(5000);
虽然不建议使用这种等待。尝试使用“直到”来使用“等待”,如:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("element css path")));
您可以通过xpath、id或类在此处使用。实际上,当您要查找包含部分文本的所有链接的列表时,
Selenium
,由于执行速度快,所有链接都不会出现在DOM
中。您应该尝试使用WebDriver
等待DOM
中的所有可见元素,如下所示:-
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.com/");
driver.manage().window().maximize();
driver.findElement(By.id("lst-ib")).sendKeys("Selenium");
WebDriverWait wait = new WebDriverWait(driver, 10);
List<WebElement> alist = wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.partialLinkText("Selenium")))
System.out.println(alist.size());
WebDriver=newfirefoxdriver();
驱动程序。获取(“https://www.google.com/");
driver.manage().window().maximize();
driver.findElement(By.id(“lst ib”)).sendKeys(“Selenium”);
WebDriverWait wait=新的WebDriverWait(驱动程序,10);
List alist=wait.until(通过.partialLinkText(“Selenium”))列出的所有元素的预期条件、可见性)
System.out.println(alist.size());
输出:-13
希望能有帮助……:)