找到关于 Selenium 的519 篇文章

如何使用 Java 在 Selenium WebDriver 中关闭子浏览器窗口?

Debomita Bhattacharjee
更新于 2020年10月26日 06:40:34

5K+ 次查看

我们可以关闭 Selenium webdriver 中的子浏览器窗口。`getWindowHandles` 和 `getWindowHandle` 方法可用于处理子窗口。`getWindowHandles` 方法用于将所有打开的窗口句柄存储在 Set 数据结构中。`getWindowHandle` 方法用于存储当前活动的浏览器窗口。要迭代窗口句柄,可以使用迭代器方法。我们必须添加 `import java.util.Set` 来容纳 Set,并添加 `import java.util.List` 和 `import java.util.Iterator` 语句来在我们的代码中容纳迭代器。默认情况下,驱动程序对象可以访问父窗口的元素。为了切换其焦点…… 阅读更多

如何在 Selenium Python WebDriver 中设置默认超时?

Debomita Bhattacharjee
更新于 2020年10月26日 06:38:44

6K+ 次查看

我们可以使用 Selenium webdriver 设置默认超时。`set_page_load_timeout` 方法用于设置页面加载的超时时间。等待时间(以秒为单位)作为参数传递给该方法。语法:`driver.set_page_load_timeout(5)`。如果页面在等待时间过去后仍未加载,则会抛出 `TimeoutException` 异常。我们可以在同步中使用隐式等待的概念来定义默认超时时间。这是一个全局等待时间,应用于页面中的每个元素。`implicitly_wait` 方法用于定义隐式等待。等待时间(以秒为单位)作为参数传递给该方法。语法:`driver.implicitly_wait(5);`。`TimeoutException`… 阅读更多

如何将 gecko 可执行文件与 Selenium 一起使用?

Debomita Bhattacharjee
更新于 2020年10月26日 06:37:18

257 次查看

我们可以将 gecko 可执行驱动程序与 Selenium webdriver 一起使用。对于 47 以上版本的 Mozilla,由于存在 Marionette(Mozilla 的自动化驱动程序),因此使用 geckodriver。我们可以通过使用以下语句使用 FirefoxDriver 类的对象来启动 Firefox。`WebDriver driver=new FirefoxDriver();` 接下来,我们必须下载 geckodriver 并通过以下逐步过程将其配置到我们的项目中:导航到链接 - https://www.seleniumcn.cn/downloads/ 并移动到 Browser 文本下方,有一个 Firefox 部分可用。单击该下方文档链接。所有 geckodriver… 阅读更多

如何使用 Selenium 通过索引选择 XPath 节点集中的指定节点?

Debomita Bhattacharjee
更新于 2020年10月26日 06:33:17

6K+ 次查看

我们可以使用 Selenium webdriver 通过索引选择 XPath 节点集中的特定节点。我们可以使用括在 [] 中的索引号来提及特定节点。让我们看一下下面具有子元素的元素的 HTML 代码。具有 tagname ul 的元素具有多个具有 tagname li 的子元素。如果我们想要识别具有文本“软件质量管理”的父元素的第二个子元素,则带有节点索引的 xpath 表达式应为 `//ul[@class='list']li[2]`。识别父元素 ul 的第二个子元素的 xpath 表达式也可以用… 阅读更多

使用 Python Selenium 访问 HTML 源代码。

Debomita Bhattacharjee
更新于 2020年10月26日 06:29:21

3K+ 次查看

我们可以使用 Selenium webdriver 访问 HTML 源代码。我们可以借助 `page_source` 方法并将从其中获得的值打印到控制台。语法:`src = driver.page_source`。我们还可以使用 Selenium 中的 Javascript 命令访问 HTML 源代码。我们将借助 `execute_script` 方法并将命令 `return document.body.innerHTML` 作为参数传递给该方法。语法:`h = driver.execute_script("return document.body.innerHTML;")` 示例代码实现。`from selenium import webdriver driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") driver.implicitly_wait(0.5) driver.get("https://tutorialspoint.com/index.htm") # 使用 page_source 方法访问 HTML 源代码 s = driver.page_source print(s)` 代码实现与 Javascript 执行器。`from selenium import webdriver driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") driver.implicitly_wait(0.5) ...` 阅读更多

使用 Selenium WebDriver 读取 JavaScript 变量。

Debomita Bhattacharjee
更新于 2020年10月26日 06:27:47

2K+ 次查看

我们可以使用 Selenium webdriver 读取 Javascript 变量。Selenium 可以借助 `executeScript` 方法运行 Javascript 命令。要执行的 Javascript 命令作为参数传递给该方法。我们还必须添加语句 `import org.openqa.selenium.JavascriptExecutor` 来使用 Javascript。语法:`JavascriptExecutor j = (JavascriptExecutor) driver; j.executeScript("return document.title")` 让我们通过读取 Javascript 变量中的值来获取以下页面的浏览器标题。输出应为“关于 Tutorials Point 的职业 - Tutorialspoint”。示例代码实现 `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.JavascriptExecutor; public class JavascriptReadValue{    public static void main(String[] args) {   ...` 阅读更多

如何使用 Selenium Webdriver 捕获特定元素而不是整个页面的屏幕截图?

Debomita Bhattacharjee
更新于 2020年10月26日 06:24:41

2K+ 次查看

我们可以使用 Selenium webdriver 捕获特定元素而不是整个页面的屏幕截图。项目中可能有一些需求,我们需要捕获特定 webelement 的屏幕截图。首先,我们将捕获整个页面的屏幕截图,然后根据元素的尺寸和位置对其进行裁剪。我们将借助 `TakeScreenShot` 接口并使用其 `getScreenshotAs` 方法。语法:`File i = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);` 接下来,将图像存储在文件中(例如,.jpeg、.png)。`FileUtils.copyFile(i, new File(""))` 示例代码实现 `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 java.io.File; ...` 阅读更多

在 Selenium 中选择已知元素的父元素。

Debomita Bhattacharjee
更新于 2020年10月26日 06:22:49

12K+ 次查看

使用Selenium webdriver,我们可以选择已知元素的父元素。首先,我们需要借助id、classname等定位器来识别已知元素。然后,我们需要使用findElement(By.xpath())方法来识别其父元素。我们可以通过使用子元素进行定位,然后将( ./..)作为参数传递给findElement(By.xpath())来识别其父元素。让我们从下面html代码中`

  • `标签元素识别`
      `标签的父元素 - 此外,我们还可以识别父元素…… 阅读更多

  • 使用Selenium WebDriver for Python等待页面加载。

    Debomita Bhattacharjee
    更新于 2020年10月26日 06:19:23

    2K+ 次查看

    我们可以使用Selenium webdriver等待页面加载完成。Selenium中有一个同步的概念,它描述了隐式等待和显式等待。为了等待页面加载,我们将使用显式等待的概念。显式等待的设计使其依赖于对元素特定行为的预期条件。为了等待页面加载,我们将对特定元素使用预期条件presence_of_element_loaded。一旦等待时间超过,将抛出超时错误。为了实现显式等待条件,我们需要借助WebDriverWait…… 阅读更多

    使用Python在Selenium中运行javascript。

    Debomita Bhattacharjee
    更新于 2020年10月26日 06:16:07

    659 次浏览

    我们可以使用Python在Selenium webdriver中运行Javascript。文档对象模型(DOM)借助Javascript与页面上的元素进行通信。Selenium通过使用execute_script方法来执行Javascript命令。要执行的命令作为参数传递给该方法。一些操作,例如页面向下滚动,不能直接通过Selenium方法执行。这是借助Javascript执行器实现的。window.scrollTo方法用于执行滚动操作。沿x轴水平滚动的像素和沿y轴垂直滚动的像素…… 阅读更多

    广告