找到 720 篇文章 关于测试工具

如何在Selenium中避免“StaleElementReferenceException”?

Debomita Bhattacharjee
更新于 2021年4月6日 11:27:24

512 次浏览

如果 webdriver 尝试访问当前在 DOM 中不可用或无效的 web 元素,则会抛出 StaleElementReferenceException 异常。这可能是由于页面刷新,或者元素意外删除或修改,或者不再连接到 DOM。可以通过以下技术避免此类异常:页面刷新;重试机制;try-catch 块;等待某些预期条件,例如 presenceOfElementLocated 或在元素出现陈旧状态时刷新页面。示例代码实现包含 StaleElementException 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 StaleElemntExc{   ... 阅读更多

Selenium Webdriver 中 sendKeys() 方法无效

Debomita Bhattacharjee
更新于 2021年4月6日 11:26:50

5K+ 次浏览

如果在使用 sendKeys 方法时遇到问题,可以使用 JavaScript Executor 在编辑框中输入文本。Selenium 可以借助 executeScript 方法运行 JavaScript 命令。要输入文本,我们将首先使用 JavaScript 方法 document.getElementsByClassName 识别编辑字段。然后在其上应用 value 方法。让我们尝试将文本 tutorialspoint 输入到下面的 Google 搜索框中:语法 JavascriptExecutor j = (JavascriptExecutor) driver; j.executeScript("document.getElementsByName('qwe')[0].value= 'tutorialspoint'"); 示例 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.JavascriptExecutor; ... 阅读更多

如果无法识别提交按钮,如何在 Selenium webdriver 中提交表单?

Debomita Bhattacharjee
更新于 2021年4月6日 11:25:44

2K+ 次浏览

即使无法识别提交按钮,我们也可以在 Selenium webdriver 中提交表单。这可以通过定位表单标签内的任何元素并在其上应用 submit 方法来实现。html 代码中的表单由 <form> 标签标识。让我们研究表单标签内元素的 html 代码:在上面的示例中,我们将尝试使用电子邮件或密码字段提交表单,而不是单击“登录”按钮。语法 driver.findElement(By.className("input__input")).sendKeys("96968547"); driver.findElement(By.className("session_password")).sendKeys("test123"); driver.findElement(By.className("session_password")).submit(); 示例 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; public ... 阅读更多

如何在 Selenium Webdriver 中向上或向下滚动页面?

Debomita Bhattacharjee
更新于 2021年4月6日 11:25:17

9K+ 次浏览

我们可以使用 JavaScript Executor 在 Selenium webdriver 中向上或向下滚动页面。Selenium 可以借助 executeScript 方法执行 JavaScript 命令。要垂直向下滚动页面,我们必须使用 JavaScript 命令 window.scrollBy。然后传递要在 x 轴和 y 轴上遍历的像素值,分别用于水平和垂直滚动。为 x 轴设置的正值将页面向右滚动,而为 x 轴设置的负值将页面向左滚动。同样,为 y 轴设置的正值将页面向下滚动,而负值将…… 阅读更多

如何在 Selenium 中使用 Java 点击注册按钮?我能够打开页面,但无法点击?

Debomita Bhattacharjee
更新于 2021年4月6日 11:24:14

4K+ 次浏览

我们可以使用 Java 在 Selenium 中点击注册按钮。首先,我们必须使用任何定位器(如 id、类名、名称、链接文本、xpath、css 或部分链接文本)来识别注册按钮。识别后,我们必须使用 click 方法点击注册按钮。语法 WebElement m=driver. findElement(By.id("loc-txt")); m.click(); 示例代码实现包含 click 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; public class SignIn{    public static void main(String[] args) {       System.setProperty("webdriver.gecko.driver", ... 阅读更多

需要等到页面完全加载 - Selenium WebDriver

Debomita Bhattacharjee
更新于 2021年4月6日 11:22:55

5K+ 次浏览

我们可以使用 JavaScript Executor 在 Selenium webdriver 中等到页面完全加载。Selenium 可以借助 executeScript 方法运行 JavaScript 命令。我们必须将 return document.readyState 作为参数传递给 executeScript 方法,然后验证此命令返回的值是否为 complete。语法 JavascriptExecutor j = (JavascriptExecutor)driver; if (j.executeScript("return document.readyState").toString().equals("complete")){    System.out.println("Page has loaded"); } 示例 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.JavascriptExecutor; public class PageLdWait{    public static void main(String[] args) {       System.setProperty("webdriver.gecko.driver", "C:\Users\ghs6kor\Desktop\Java\geckodriver.exe");   ... 阅读更多

如何在 Selenium 中处理警报?

Debomita Bhattacharjee
更新于 2021年4月6日 11:22:26

3K+ 次浏览

我们可以使用 Alert 接口在 Selenium webdriver 中处理警报。警报可以分为三种类型:允许用户输入文本的提示、普通警报和确认警报。默认情况下,webdriver 只能访问主页面,一旦出现警报,就会使用 switchTo().alert() 方法将焦点 webdriver 控制转移到警报。下面显示一个普通警报:下面显示一个确认警报:下面显示一个提示警报:要接受警报(点击警报中的“确定”按钮),使用 switchTo().alert().accept() 方法。要取消…… 阅读更多

如何在 Chrome 中使用 Selenium 停止页面加载?

Debomita Bhattacharjee
更新于 2021年4月6日 11:21:56

9K+ 次浏览

我们可以使用 JavaScript Executor 在 Chrome 浏览器中使用 Selenium webdriver 停止页面加载。Selenium 可以借助 executeScript 命令执行 JavaScript 命令。要停止页面加载,将命令 window.stop() 作为参数传递给 executeScript 方法。此外,对于 Chrome 浏览器,我们必须将 pageLoadStrategy 配置为 none 值并等待 web 元素可用。最后,我们必须调用 window.stop。语法 driver.execute_script("window.stop();") 示例代码实现包含 JavaScript Executor from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By #configure pageLoadStrategy ... 阅读更多

如何使用 Python Selenium Webdriver 刷新网页?

Debomita Bhattacharjee
更新于 2021年4月6日 10:58:56

18K+ 次浏览

我们可以使用Python中的Selenium webdriver刷新网页。这可以通过refresh方法实现。首先,我们必须使用get方法启动应用程序。网页完全加载后,我们可以使用refresh方法刷新页面。这样,现有页面就会被刷新。refresh方法需要应用于webdriver对象。语法:driver.get("https://tutorialspoint.com/tutor_connect/index.php") driver.refresh()示例:from selenium import webdriver #设置chromodriver.exe路径 driver = webdriver.Chrome(executable_path="C:\chromedriver.exe") driver.implicitly_wait(0.5) #启动URL driver.get("https://www.google.com/") #识别文本框 m = driver.find_element_by_class_name("gLFyf") #发送输入 m.send_keys("Java") #刷新页面 driver.refresh()输出阅读更多

我们能否使用Java在Selenium中获取HTTP响应代码?

Debomita Bhattacharjee
更新于 2021年4月6日 10:58:29

2K+ 次浏览

我们可以使用Java在Selenium webdriver中获取HTTP响应代码。一些响应代码包括 - 2xx、3xx、4xx和5xx。2xx响应代码表示正常状态,3xx表示重定向,4xx表示找不到资源,5xx表示服务器问题。要获取响应代码,我们将使用HttpURLConnection类。要连接到URL,使用openConnection方法。此外,我们必须使用setRequestMethod方法,其中值Head将作为参数传递。我们必须创建一个HttpURLConnection类的实例,然后应用connect ... 阅读更多

广告