Selenium-WebDriver提供WebDriver API,用于控制不同编程语言的浏览器(“语言绑定”)。使用此标记时,还要为正在使用的编程语言添加标记。
网站 兰博基尼 网站 <p style="margin:1em auto; padding:0 1em; max-width:700px;"> <b> Lamborghini</b> <br> <img style="width:300px" src="https://i0.wp.com/www.car-revs-daily.com/wp-content/uploads/2016/02/2011-Lamborghini-EGOISTA-22.jpg"> <br> 2013 Lamborghini Egoista </p> 我想提取随机汽车的名称(2013 Lamborghini Egoista)。 我已经尝试过: String text= (String) jsExecutor.executeScript("document.querySelector('#output-container p').innerText;"); System.out.println(text); ,但没有成功: org.openqa.selenium.JavascriptException:javascript错误:无法读取 null 的属性(读取“innerText”) 这里是使用 JavaScript 代码的示例,您可以尝试在 Selenium 中模拟步骤: // get the container element first const containerELe = document.querySelector("#output-container"); // get the br (second br in the container) const brElement = containELe.querySelector('br:nth-of-type(2)'); // get the node after the br const nameNode = brElement.nextSibling; // get text content const name = nameNode.textContent.trim();
等待元素出现在Selenium中(WebDriverWait)
当我们收到 Selenium 中的元素列表时,使用“find_elements”命令,我们从该列表中选择一个元素,例如列表中的元素号 2 示例:driver.find_elemen...
使用 python 和 selenium 从网站检索课程表更改 No Such Element 错误、ID、XPATH 等
我的学校有一个系统可以告诉我们日程安排是否有任何变化。 从硒导入网络驱动程序 从 selenium.webdriver.common.by 导入 从 selenium.webdriver.support.ui 导入 WebDriverW...
如何使用 Python Selenium 读取 Excel 文件并将其插入到我的 Web 表单中?
我创建了一个脚本来从 CSV 文件中读取数据并将其输入到我的 Web 表单中,但是我无法以正确的形式将一些数据保存在 CSV 文件中,我需要转换该脚本,以便它.. .
Pylance 无法识别 selenium 的 TimeoutException 类
我正在使用 VisualCode,当我尝试从 Selenium 库导入 ConnectionRefusedError 时,出现错误。下面是我的代码片段 从 selenium.common.exceptions 导入
selenium.common.exceptions.WebDriverException:消息:服务 chromedriver 意外退出。状态代码为:1
我是Python编程新手,目前正在学习Selenium,所以请原谅这可能是一个初学者级别的问题。 我使用 Homebrew 安装了 Selenium,然后尝试在我的
Python、Selenium 网页抓取:从第一个网页到第二个网页的弹出问题
这个问题困扰了我好几天了,一直没找到合适的解决办法。目前,我正在使用 Python 和 Selenium 进行网络抓取。单击 f 上的按钮后...
org.openqa.selenium.NoSuchSessionException:没有这样的会话
在 selenium 中访问以下方法时出现“No Such Session”异常。我知道网上有很多相同的问题有不同的答案,但在我的案例中似乎没有一个得到解决。任意
我有一个简单的 Web 应用程序,带有一组附带的 Selenium 测试。在每个测试运行之前,我通过运行executeAsyncScript 来获取用户对象,如下所示: 字符串 getUserScript =...
解决 Selenium 自动化设置中的 WebDriver 二进制文件更新问题
在我的 Selenium 自动化设置的repositorymap.xml 文件中指定的 ChromeDriver 二进制文件遇到兼容性问题。尽管尝试更新 和 <...
该网站在尝试使用 selenium 访问它时显示错误,我该如何解决此错误?
我正在尝试访问 https://bid.cars/en/search 并显示网页,但是当我尝试使用 selenium 搜索其中的任何内容时,它会给我一个错误并阻止我使用该网站。我...
System.setProperty("webdriver.chrome.driver", "C:\Users\Dev\webdrivers\chromedriver.exe"); 驱动程序 = 新的 Chromedriver(): driver.manage().window().maximize(); 例外: 组织。
使用 [Parallelized(ParallelScope.Children)] 时出现 NullReferenceException
我在使用时遇到 NullReferenceException [可并行化(ParallelScope.Children)] 当 我正在尝试在一个类中运行所有测试方法 并行地 错误: System.NullReferenceException:对象
我正在尝试抓取此网站:https://www.lavoro.gov.it/,当我在搜索栏中搜索关键字时遇到问题,我进入以下页面: 现在如你所见,我正在尝试...
为什么我的 selenium 代码在尝试检查 URL 中是否有某个单词时失败?
我正在使用终端运行自动化测试,我想检查该单词是否在 URL 内。我想也许我有语法错误,因为我是使用硒的新手。 在 VSCode 中,这就是我的
使用 Selenium ChromeDriver 打开 chrome 选项卡到某个网址
我正在创建一个自动化程序,并且创建了一个浏览器自动化类来处理 Chrome 浏览器的自动化和打开。我已将代码分成两个文件,分别是 main.py (
机器人框架/Selenium 脚本无法在 Salesforce 页面上执行 Javascript
我正在使用 Robot Framework 和 Selenium 对 Salesforce 应用程序进行自动化测试。我编写了一个测试用例脚本来登录 Salesforce、导航到“机会”页面并执行...
我有一个测试套件,我想逐一运行 XML 文件中的测试。但是当我运行它时,它会同时运行所有TC(我同时打开3个浏览器)。 我的 XML: 我有一个测试套件,我想逐一运行 XML 文件中的测试。但是当我运行它时,它会同时运行所有 TC(我同时打开了 3 个浏览器)。 我的 XML: <suite name="TestingSuite" preserve-order="true" parallel="false" verbose="10"> <test name="Test1"> <classes> <class name="guiAndFunctianal.LoginFail" /> <class name="guiAndFunctianal.LoginAsManager" /> <class name="guiAndFunctianal.CreateUserTest" /> </classes> </test> </suite> 我的 TC 看起来像这样: public class LoginFail extends AbstractTest{ @ BeforeTest public void openBrowser() { openBrowserFireFoxAllTcs(); } @ Test public void main (){ } @ AfterTest public void quit() { driver.quit(); } 抽象测试 public class AbstractTest { WebDriver driver = new FirefoxDriver(); WebDriverWait wait = new WebDriverWait(driver, 10); public void openBrowserFireFoxAllTcs() { driver.get("some URL"); } 我假设你想要顺序执行。打开浏览器>完成测试>关闭浏览器,然后对其他浏览器重复相同的操作。如果是这种情况,我会执行以下操作: TestNG.XML <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite" junit="false" parallel="false" configfailurepolicy="skip" thread-count="5" skipfailedinvocationcounts="false" data-provider-thread-count="10" group-by-instances="false" preserve-order="true" allow-return-values="false"> <test name="firefox" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="firefox" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> <test name="ie" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="ie" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> <test name="chrome" junit="false" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <parameter name="browser" value="chrome" /> <classes> <class name="com.github.tests.GitHubHomePageTests" /> </classes> </test> </suite> 我如何实例化驱动程序: package com.github.tests; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.testng.annotations.*; public class BaseTest { public WebDriver driver; String url = "https://github.com/"; @Parameters("browser") @BeforeClass public void SetUpTests(String browser) { if (browser.equalsIgnoreCase("firefox")) { driver = new FirefoxDriver(); } else if (browser.equalsIgnoreCase("ie")) { System.setProperty("webdriver.ie.driver", ".\\drivers\\IEDriverServer.exe"); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver", ".\\drivers\\chromedriver.exe"); driver = new ChromeDriver(); } //Navigate to url driver.navigate().to(url); //Maximize the browser window driver.manage().window().maximize(); } @AfterClass public void CleanUpDriver() throws Exception { // Quit current driver instance. try { driver.quit(); } catch (Exception ex) { throw ex; } } 如何试运行 package com.github.tests; import com.github.pageobjects.GitHubLandingPage; import org.testng.Assert; import org.testng.annotations.Test; public class GitHubHomePageTests extends BaseTest {@Test public void ExploreLinkTest() { String explorePageTitle = new GitHubLandingPage(driver) .clickGitHubExplorePage() .getGitHubExplorerPageTitle().trim(); System.out.println(explorePageTitle); Assert.assertEquals(explorePageTitle, "Explore GitHub"); } } 可在此处获取全球 Github 存储库 试试这个: <suite name="TestingSuite" preserve-order="true" thread-count="1" verbose="10"> <test name="Test1"> <classes> <class name="guiAndFunctianal.LoginFail" /> </classes> </test> <test name="Test2"> <classes> <class name="guiAndFunctianal.LoginAsManager" /> </classes> </test> <test name="Test3"> <classes> <class name="guiAndFunctianal.CreateUserTest" /> </classes> </test> </suite> 退出前关闭你的驱动程序: @测试后 公共无效退出(){ 驱动程序.close() 驱动程序.quit(); } 从 testng.xml 执行顺序测试 <suite name="Validation Suite" preserve-order="true" thread-count="1" verbose="10" parallel="false" configfailurepolicy="skip" allow-return-values="false"> <listeners> <listener class-name="ios.AllureListener"/> </listeners> <test name="Pricing Page Validations" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <classes> <class name="ios.PricingTierPageValidations"/> </classes> </test> <!-- Test --> <test name="Application Page Validations" skipfailedinvocationcounts="false" preserve-order="true" group-by-instances="false" allow-return-values="false"> <classes> <class name="ios.ApplicationPageValidations"/> </classes> </test> </suite>
如何使用并行测试设置关闭 Chrome 驱动程序并清除 Selenium C# 和 SpecFlow 中的内存?
当前运行测试时,Chrome 驱动程序会堆积起来并且永远不会完全关闭。 已尝试使用: 驱动程序.关闭(); 驱动程序.退出(); 驱动程序.Dispose(); 与此讨论相关 但是 Chrome 驱动...
嗨,我正在练习并尝试关闭您访问网站时出现的弹出窗口。网站打开后,我想在右上角单击一个“x”。我得到了这个网站...