4K+ 次浏览
我们可以借助 Selenium webdriver 获取 webelement 的 html 代码。我们可以获取 innerHTML 属性来获取 web 元素的 HTML 内容。innerHTML 是 webelement 的一个属性,等于起始标签和结束标签之间存在的内容。getAttribute 方法用于此,并将 innerHTML 作为参数传递给该方法。语法String s = element.getAttribute('innerHTML');让我们看看下面元素的 html 代码。元素的 innerHTML 将是 < 您正在浏览最佳在线教育资源。示例代码实现import org.openqa.selenium.WebDriver; ... 阅读更多
720 次浏览
我们在 Selenium webdriver 中有 StaleElementReferenceException。顾名思义,stale 指的是不再新鲜且已过时的东西。可能存在这样一种情况,即之前存在于 DOM 中的元素由于 DOM 的修改而不再可用。在这种情况下,如果我们尝试访问该元素,则会抛出 StaleElementReferenceException。此类异常是由于以下原因导致的:元素不再存在于 DOM 中。元素已被完全移除。有一些方法可以防止 StaleElementReferenceException,如下所述:我们可以 ... 阅读更多
479 次浏览
我们可以使用 Selenium webdriver 处理下拉菜单。Selenium 中的静态下拉菜单由 Select 类处理,并且下拉菜单应在 html 代码中使用 <select> 标签标识。让我们看看静态下拉菜单的 html 代码。我们必须在代码中添加 import org.openqa.selenium.support.ui.Select 语句才能使用 Select 类中可用的方法。从下拉菜单中选择选项的方法如下所示:selectByValue(val) – 选择其 value 属性与传递给该方法的参数匹配的选项。此方法仅在下拉选项具有 ... 阅读更多
422 次浏览
我们可以使用 Selenium webdriver 处理 iframe。框架在 html 代码中使用 <frame> 或 <iframe> 标签定义。框架用于将 HTML 文档嵌入到另一个 HTML 文档中。Selenium 默认情况下可以访问父浏览器驱动程序。为了访问框架元素,驱动程序焦点必须从主浏览器窗口切换到框架。有多种方法可以切换到框架:switchTo().frame(id) - 将框架的 id 或名称作为参数传递。语法 - driver.switchTo().frame("id"),切换到具有 id 的框架。switchTo().frame(m) - 框架的索引 ... 阅读更多
9K+ 次浏览
我们可以使用 Selenium webdriver 通过部分 id 匹配来定位元素。这可以在我们借助 xpath 或 css 定位器识别元素时实现。使用 css 和 xpath 表达式,我们使用正则表达式来部分匹配 id。让我们看一下其 html 代码中元素的 id。id 属性值为 gsc-i-id1。使用 css 表达式,我们可以使用 * 并对 id 进行部分匹配。css 值将是 input[id*='id']。这意味着子文本 id 存在于实际文本 gsc-i-id1 中。我们还可以使用 ... 阅读更多
861 次浏览
在等待特定条件时,我们可以通过 Selenium webdriver 刷新网页。我们可以借助 driver.navigate().refresh() 方法来刷新网页。示例代码实现使用 refresh()。import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class BrowserRefresh{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://tutorialspoint.com/index.htm"); // 使用 refresh 方法刷新网页 driver.navigate().refresh(); } }我们可以借助 sendKeys 方法刷新网页,然后将 Keys.F5 作为参数传递给该方法。sendKeys 方法是 ... 阅读更多
704 次浏览
我们可以借助 Selenium webdriver 在保持 webdriver 活动状态的同时关闭整个浏览器。为此,我们必须使用 close 方法。如果有多个浏览器打开,close 方法只会关闭处于焦点的浏览器,但 webdriver 会话仍然保持活动状态。还有另一个名为 quit 的方法。它关闭所有打开的浏览器并终止浏览器会话。在测试执行结束时,始终建议使用 quit 方法正确终止会话并避免内存泄漏。如果只有一个浏览器 ... 阅读更多
805 次浏览
我们可以使用 Selenium webdriver 获取某些目标类中 href 的内容。首先,我们必须使用 xpath、css 或 classname 等定位器来定位具有特定 class 属性值的锚标签元素。然后,我们必须借助 getAttribute 方法并将 href 作为参数传递给该方法。让我们看一下具有锚标签(具有 class 和 href 属性)的元素的 html 代码。元素的 href 值应为 /account/register?hl=en。示例代码实现。import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; ... 阅读更多
5K+ 次浏览
我们可以使用 Selenium webdriver 滚动特定 DIV。Selenium 无法直接处理滚动。它借助 Javascript Executor 对特定 DIV 执行滚动操作。首先,我们必须借助 xpath 或 css 定位器识别要滚动到的特定 DIV。接下来,我们将借助 Javascript Executor 来运行 Javascript 命令。executeScript 方法用于在 Selenium 中执行 Javascript 命令。我们必须在 Javascript 中使用 scrollIntoView 方法并将 true 作为参数传递给该方法。语法WebElement m=driver.findElement(By.xpath("//div[@class='slick-track']")); ... 阅读更多
我们可以在 Selenium webdriver 中关闭子浏览器窗口。`getWindowHandles` 和 `getWindowHandle` 方法可以用来处理子窗口。`getWindowHandles` 方法用于将所有打开的窗口句柄存储在 Set 数据结构中。`getWindowHandle` 方法用于存储当前活动的浏览器窗口。要遍历窗口句柄,可以使用迭代器方法。我们需要添加 `import java.util.Set` 来容纳 Set,并添加 `import java.util.List` 和 `import java.util.Iterator` 语句来在代码中容纳迭代器。默认情况下,驱动程序对象可以访问父窗口的元素。为了切换其焦点... 阅读更多