21K+ 次浏览
我们可以使用 Selenium 中的 find_elements() 方法获取页面中的 href 链接。网页中的所有链接都在 html 文档中设计,这些链接都包含在锚标记内。要获取所有具有标记名称的元素,我们将使用 find_elements_by_tag_name() 方法。它将获取作为方法参数给出的锚标记名称的元素列表。如果页面中没有匹配的标记名称,则将返回一个空列表。示例代码实现。from selenium import webdriver driver = webdriver.Chrome (executable_path="C:\chromedriver.exe") driver.maximize_window() driver.get("https://www.google.com/") # 识别具有标记名称的元素 lnks=driver.find_elements_by_tag_name("a") # 遍历 ... 阅读更多
11K+ 次浏览
click() 和 submit() 函数在功能方面非常相似。但是,存在细微的差别。让我们讨论它们之间的一些区别。submit() 函数仅适用于
3K+ 次浏览
我们可以在登录页面中使用 Selenium 填充用户名和密码字段。这被认为是任何应用程序的身份验证步骤。输入用户名和密码后,我们必须单击登录按钮。示例代码实现。import time from selenium import webdriver driver = webdriver.Chrome (executable_path="C:\chromedriver.exe") driver.get("https://mail.rediff.com/cgi-bin/login.cgi") # 识别用户名、密码和登录元素 driver.find_element_by_name("login").send_keys("tutorialspoint") time.sleep(0.2) driver.find_element_by_name("passwd").send_keys("pass123") time.sleep(0.4) driver.find_element_by_class_name("signinbtn").click() driver.close如果提供了有效的用户名和密码,我们将被重定向到应用程序的主页。输出阅读更多
4K+ 次浏览
我们可以使用 Selenium 验证元素是否存在。这可以通过 findElements() 方法来确定。它返回与我们作为参数传递给该方法的定位符匹配的元素列表。如果没有匹配的元素,则将返回一个空列表(大小为 0)。我们不使用 findElement() 方法,因为如果没有匹配的元素,此方法会抛出 NoSuchElementException。在发生任何异常的情况下,我们必须使用 try catch 块来处理它。示例代码实现。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.util.List; public class ... 阅读更多
514 次浏览
在测试过程中遇到故障时,通常会捕获屏幕截图,以记录任何偏离预期结果的地方。因此,将屏幕截图附加到错误报告中被认为是必要的步骤。在自动化大量测试用例时,捕获屏幕截图对于推断测试用例失败的原因至关重要,开发和测试团队都可以从中获益。在调试故障时,通过查看屏幕截图可以确定故障是由于脚本问题还是应用程序中的缺陷。有时我们可能需要捕获屏幕截图 ... 阅读更多
582 次浏览
拖放操作是通过鼠标完成的。当我们将一个元素从一个位置拖动到另一个位置时,就会发生这种情况。当我们尝试通过简单的拖放操作将文件从一个文件夹移动到另一个文件夹时,这是一个常见的场景。Selenium 使用 Actions 类来执行拖放操作。dragAndDrop(source, destination) 是 Actions 类中用于执行拖放操作的方法。该方法将首先对元素执行左键单击,然后继续单击以保持源元素。接下来,它将 ... 阅读更多
有时我们需要对页面可视区域中不存在的元素执行操作。我们需要向下滚动页面以到达该元素。Selenium 无法直接执行滚动操作。这可以通过 Selenium 中的 Javascript Executor 和 Actions 类来实现。DOM 可以借助 Javascript 处理网页上的所有元素。Selenium 可以借助 execute_script() 方法执行 Javascript 中的命令。对于 Javascript 解决方案,我们必须将 true 值传递给 scrollIntoView() 方法以识别以下对象 ... 阅读更多
758 次浏览
鼠标悬停在元素上是为了触发该元素上的事件。如果我们将鼠标悬停在网页的菜单上,则会出现子菜单。因此,此事件在将鼠标悬停在元素上时被触发。从上图可以看出,将鼠标悬停在“包”菜单上时,文本颜色以及工具提示显示都会发生变化。Selenium 具有 Actions 类,其中包含多个用于鼠标光标移动的 API。moveToElement() 方法用于执行鼠标移动。我们必须导入 org.openqa.selenium.interactions.Actions 以使用 Action 类。除了 moveToElement() 之外,我们还必须使用 perform() 方法 ... 阅读更多
1K+ 次浏览
我们可以在 Selenium 中找到屏幕上显示特定文本的元素。这是通过 xpath 定位符实现的。xpath 定位符包含一些内置函数,有助于创建自定义 xpath。让我们考虑以下网页的一部分:text() - 这是一个内置函数,用于根据屏幕上显示的文本识别元素。例如,如果我们想从上面的网页中识别“图书馆”,则使用 text() 的自定义 xpath 应该是:语法//*[text()='图书馆']contains() - 这是一个内置函数,用于根据 ... 阅读更多
26K+ 次浏览
我们可能需要对页面可视区域中不存在的元素执行操作。我们需要向下滚动页面以到达该元素。Selenium 无法直接执行滚动操作。这可以通过 Selenium 中的 Javascript Executor 和 Actions 类来实现。DOM 可以借助 Javascript 处理网页上的所有元素。Selenium 可以借助 execute_script() 方法执行 Javascript 中的命令。对于 Javascript 解决方案,我们必须将 true 值传递给 scrollIntoView() 方法以识别以下对象 ... 阅读更多