找到 519 篇文章 关于 Selenium
6K+ 浏览量
我们可以在 Selenium 中切换到活动标签页。Keys.chord 和 sendKeys 方法用于打开新标签页。Keys.chord 方法可以一次传递多个键。Keys.CONTROL 和 Keys.ENTER 组合作为参数传递给 Keys.chord 方法。将其存储为字符串,然后再次作为参数传递给 sendKeys 方法。语法String tb = Keys.chord(Keys.CONTROL, Keys.ENTER); driver.findElement(By.xpath("//*[text()='Company']")).sendKeys(tb);所有打开的窗口 ID 都存储在 ArrayList 中。默认情况下,驱动程序的焦点位于父窗口上。要将焦点切换到新标签页,请使用 switchTo().window 方法。The ... 阅读更多
3K+ 浏览量
我们可以使用 Selenium 下载任何文件并将其保存到所需位置。这可以通过创建 FirefoxOptions 类的实例来完成。然后,借助 addPreference 方法,我们必须设置浏览器首选项。我们还必须使用 addPreference 方法指定文件要下载到的路径。示例代码实现。import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import java.util.concurrent.TimeUnit; public class FileDwnload{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); // 创建 FirefoxOptions 类对象 FirefoxOptions profile = ... 阅读更多
2K+ 浏览量
我们可以在 Selenium 中检查 HTTP 状态代码。在运行测试时,我们可以验证来自资源的响应的状态代码。一些不同的 HTTP 状态代码如下:- 5XX – 服务器错误。4XX – 未检测到资源。3XX – 重定向。2XX – 正常。HttpURLConnection 类的实例用于获取 HTTP 状态代码。要与 URL 建立连接,应使用 openConnection 方法。然后,我们必须借助 setRequestMethod 并将 HEAD 作为参数传递给它。要建立连接,需要将 connect 方法应用于该对象 ... 阅读更多
1K+ 浏览量
我们可以使用 Selenium 打开新标签页。Keys.chord 和 sendKeys 方法用于此目的。可以使用 Keys.chord 方法同时传递多个键。可以将一组字符串或键作为参数传递给该方法。此处,Keys.CONTROL 和 Keys.ENTER 作为参数传递给 Keys.chord 方法。将其存储为字符串值,最后作为参数传递给 sendKeys 方法。语法String nwtb = Keys.chord(Keys.CONTROL, Keys.ENTER); driver.findElement(By.xpath("//*[text()='Company']")).sendKeys(nwtb);示例代码实现。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; public class OpnLinkNwTab{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); ... 阅读更多
11K+ 浏览量
我们可以使用 Selenium 检查页面上是否显示图像。要验证图像,我们将借助 Javascript Executor。我们将利用 executeScript 方法在 Selenium 中执行 Javascript 命令。然后将命令 return arguments[0].complete && typeof arguments[0].naturalWidth != "undefined" && arguments[0].naturalWidth > 0 作为参数传递给该方法。此外,语句 import org.openqa.selenium.JavascriptExecutor 必须添加到代码中。语法WebElement i = driver.findElement(By.xpath("//img[@title='Tutorialspoint']")); Boolean p = (Boolean) ((JavascriptExecutor)driver) .executeScript("return arguments[0].complete " + "&& typeof arguments[0].naturalWidth != \"undefined\" " + "&& arguments[0].naturalWidth > 0", i);让我们检查以下图像是否出现在页面上:示例代码 ... 阅读更多
2K+ 浏览量
我们可以在 Selenium 中获取整个页面的 innerHTML。我们将使用 getPageSource 方法并在控制台中打印其捕获的值。语法String s = driver.getPageSource();我们还可以通过 Selenium 中的 Javascript 命令获取 HTML 源代码。我们将利用 executeScript 方法并将命令 return document.body.innerHTML 作为参数传递给该方法。语法JavascriptExecutor j = (JavascriptExecutor) driver; String s = (String) j.executeScript("return document.body.innerHTML;");示例代码实现,使用 getPageSource。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; public class PageHTMLcode{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = ... 阅读更多
2K+ 浏览量
我们可以使用 Selenium 获取 Firefox 中的 console.log 输出。这是通过 setProperty 方法完成的。将 FirefoxDriver.SystemProperty.BROWSER_LOGFILE 和要捕获日志的文件路径作为参数传递给该方法。语法System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "FFLogs.txt");刷新项目文件夹后,我们将获得 FFLogs.txt 文件,其中将捕获日志。示例代码实现。import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.logging.LogType; public class FirefoxLogs{ public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe"); // 将 System Property 设置为 BROWSER_LOGFILE 和日志文件路径 System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, ... 阅读更多
150 浏览量
Selenium 的幕后工作原理如下所示:来源 - https://tutorialspoint.com/what-is-web-driver-in-seleniumSelenium webdriver 架构包括:Selenium 绑定语言 - 它可以在多种语言(Java、Ruby、Javascript、C#、Python 等)上使用。因此,它拥有多种语言的语言绑定。JSON Wire 协议 - 它被称为 Javascript 对象表示法。它将数据从服务器发送到客户端页面。它建立在 Rest API 的概念之上,在 HTTP 服务器之间传递信息。浏览器驱动程序 - 浏览器有一个浏览器驱动程序。它与其浏览器通信。当驱动程序收到命令时,它 ... 阅读更多
346 浏览量
我们可以使用 Selenium 测试需要身份验证的页面。为此,我们必须将用户的凭据发送到 URL。实际上,我们正在传递附加到 URL 的用户名和密码。语法https://username:password@URL https://admin:[email protected]/basic_auth这里,admin 是用户名和密码。URL – www.the-internet.herokuapp.com/basic_auth让我们看看如何接受身份验证弹出窗口。示例代码实现。import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class TestAuthnPopup{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); String t = "admin"; // 使用用户名和密码 ... 阅读更多
2K+ 浏览量
在Selenium中,我们可以点击并等待。这可以通过同步的概念来实现。我们将使用显式等待条件,并在执行下一步之前等待元素可点击。显式等待会在抛出异常之前等待指定的时间量。为了验证元素是否可点击,我们可以使用预期条件elementToBeClickable。示例代码实现。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.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class ElementClickableWait{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); ... 阅读更多