找到关于 Selenium WebDriver 的 190 篇文章

Selenium 中有哪些不同类型的等待?

Debomita Bhattacharjee
更新于 2020年6月10日 13:51:04

686 次浏览

Selenium 中可用的不同类型的等待如下所示:隐式等待这是 Selenium 中的一种动态等待,语法如下:driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);显式等待这是 Selenium 中的一种动态等待,语法如下:WebDriverWait w = new WebDriverWait(driver, ); w.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("")));流畅等待这是 Selenium 中的一种动态等待,语法如下:Wait w = new FluentWait(driver).withTimeout(Duration.ofSeconds(30)) .pollingEvery(Duration.ofSeconds(3)).ignoring(NoSuchElementException.class);静态等待用于将执行暂停指定时间段。示例import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; public class ThreadWait {    public static void main(String[] args) throws InterruptedException ... 阅读更多

如何在 Selenium 中设置浏览器窗口的大小?

Debomita Bhattacharjee
更新于 2020年6月10日 13:46:08

4K+ 次浏览

我们可以通过以下方法设置浏览器窗口的大小:getSize() 方法Javascript 执行器示例使用 setSize() 方法。import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; public class BrowserDimension {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = "https://tutorialspoint.com/index.htm";       driver.get(url);       // 最大化浏览器       driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);       // 使用 getSize() 获取当前窗口大小       System.out.println(driver.manage().window().getSize());       // 创建 Dimensions 对象 ... 阅读更多

如何在 Selenium 中执行页面滚动操作?

Debomita Bhattacharjee
更新于 2020年6月10日 13:44:08

1K+ 次浏览

我们可以对 Selenium 中的滚动执行以下操作:垂直滚动向下滚动到特定像素。JavascriptExecutor j = (JavascriptExecutor) driver; // 使用 x、y 轴上的坐标 0 和 1500 向下滚动 1500 像素 j.executeScript("window.scrollBy(0, 1500)");向下滚动到页面底部。JavascriptExecutor j = (JavascriptExecutor) driver; // 向下滚动到页面底部 js.executeScript("window.scrollTo(0, document.body.scrollHeight)");示例垂直向下滚动,直到元素可见。import org.openqa.selenium.By; import org.openqa.selenium.Keys; 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.JavascriptExecutor; public class ScrollDownVisible {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");   ... 阅读更多

如何在 Selenium 中提取元素的属性值?

Debomita Bhattacharjee
更新于 2020年6月10日 13:35:43

1K+ 次浏览

我们可以使用 getAttribute() 方法在 Selenium 中提取元素的属性值。找到元素后,此方法用于获取元素的属性值并将其分配给变量。示例import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; public class AttributeType {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = "https://tutorialspoint.com/index.htm";       driver.get(url);       driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);       // 使用 id 标签名属性组合 ... 阅读更多

如何在 Selenium 中在编辑框内按 Enter 键?

Debomita Bhattacharjee
更新于 2020年6月10日 13:34:13

729 次浏览

Selenium 提供枚举键宏来执行 Enter 操作。示例import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; public class PressEnter {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = " https://tutorialspoint.com/index.htm";       driver.get(url);       driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);       // 通过 sendKeys() 方法传递 Keys.ENTER       driver.findElement(By.className("gsc-input")).sendKeys("Keys.ENTER");       driver.close();    } }阅读更多

如何在 Selenium 中执行浏览器导航?

Debomita Bhattacharjee
更新于 2020年6月10日 13:24:52

568 次浏览

Selenium 中有各种 navigate() 方法可以执行导航。它们如下所示:navigate().to(url)用于启动新的浏览器并打开参数中的特定 URL。navigate().refresh()用于重新加载页面。navigate().back()用于根据浏览器历史记录上下文跳转到上一页。navigate().forward()用于根据浏览器历史记录上下文跳转到下一页。示例import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import java.util.List; public class BrowserNavigation {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");       WebDriver driver = ... 阅读更多

什么是 Selenium 中的 xpath?

Debomita Bhattacharjee
更新于 2020年6月10日 13:13:52

3K+ 次浏览

Xpath 是 Selenium 中用于识别 Web 元素的最重要的定位器之一。它的工作方式如下:它借助元素及其属性在文档对象模型 (DOM) 中导航以进行识别。虽然它有助于唯一地定位元素,但在速度方面比其他定位器慢。xpath 以两种方式表示,即“/”和“//”。正斜杠表示绝对路径。在这里,xpath 直接从父级遍历到 DOM 中的子级。因此,在绝对 xpath 中,我们必须从根节点遍历到目标。语法 ... 阅读更多

如何在 Selenium 中通过部分比较其属性来识别元素?

Debomita Bhattacharjee
更新于 2020年6月10日 12:57:32

1K+ 次浏览

我们可以使用正则表达式在 Selenium 中通过部分比较其属性来识别元素。在 xpath 中,存在 contains() 方法。它支持属性值的局部匹配。在处理属性中具有动态值的元素时,此方法非常有用。语法 driver.findElement(By.xpath("//tagname[contains(@attributes, ’value’)]"))在 CSS 中,我们可以使用正则表达式通过部分比较其属性来识别元素。可能有三种情况:使用 ^ 来定位以特定文本开头的属性。语法 - driver.findElement(By.cssSelector("tagname[attribute^=’value’]"))使用 $ 来定位以特定文本结尾的属性。语法 - driver.findElement(By.cssSelector("tagname[attribute$=’value’]"))使用 * 来定位包含特定文本的属性。语法 - driver.findElement(By.cssSelector("tagname[attribute*=’value’]"))示例import org.openqa.selenium.By; ... 阅读更多

如何在 Selenium 中根据页面上可见的文本识别元素?

Debomita Bhattacharjee
更新于 2020年6月10日 12:59:04

3K+ 次浏览

要根据页面上可见的文本识别元素,请在 xpath 中使用 text() 方法。语法 - driver.findElement(By.xpath("//tagname[text()=’value’]"))示例import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class TextMatch {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = "https://tutorialspoint.com/index.htm";       driver.get(url);       driver.manage().window().maximize();       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);       // 使用 text() 方法的 xpath       driver.findElement(By.xpath("//*[text()=’GATE Exams’]")).click();       driver.close();    } }阅读更多

Selenium 支持哪些不同的定位器?

Debomita Bhattacharjee
更新于 2020年6月10日 12:44:25

186 次浏览

Selenium 支持的各种定位器类型如下所示:
ID − 此属性对每个元素都是唯一的。语法 − driver.findElement(By.id(""))。
Name − 此属性并非对每个元素都是唯一的。语法 − driver.findElement(By.name(""))。
CSS 选择器 − 此选择器可以从元素标签和属性中派生。语法 − driver.findElement(By.cssSelector(""))。
XPath − 此选择器可以从元素标签和属性中派生。语法 − driver.findElement(By.xpath(""))。
TagName − 此选择器可以从 HTML 标签中派生以识别元素。语法 − driver.findElement(By.tagName(""))。
LinkText − 此选择器可以从锚文本中派生以识别元素。语法 − driver.findElement(By.linkText(""))。
PartialLinkText − 此选择器可以从部分锚文本中派生以识别元素。语法 − driver.findElement(By.partialLinkText(""))。
Classname ... 阅读更多

广告