webdriver 相关问题

WebDriver是一个用于控制Web浏览器的API,模仿真实用户。它主要用于自动化测试。 WebDriver具有多种语言绑定和驱动程序(允许控制各种浏览器)。如果您的问题特定于其中一个,请确保还包含相应的标记。

FluentWait类型中的until(Function<? super WebDriver,V>)方法不适用于参数(boolean, ExpectedCondition<WebElement>)

我得到了两个条件,根据这些条件,网络驱动程序需要等待其中一个条件满足,然后才能继续执行。我正在使用显式等待

回答 4 投票 0

如何在 if 语句中高效地对多个元素使用 WebDriverWait?

假设我有 3 个不同的场景,在这些不同的场景中会显示不同的元素。 如何对多个元素使用 WebDriverWait,如果发现其中一个元素,则忽略...

回答 2 投票 0

Selenium WebDriver 如何关闭浏览器弹出窗口

我正在使用 selenium webDriver 为 Web 应用程序编写测试,并遇到了一个场景,当我尝试关闭浏览器时,我收到一个弹出窗口,显示“您确定吗?该页面要求您确认...

回答 10 投票 0

org.junit.Test 和 junit.framework.Test 包之间的区别

<project name="JunitSuite" basedir="." default="clean"> <property name="${src}" value="./src/JunitSuiteProject" /> <property name="${build}" value="./build" /> <property name="package" value="JunitSuiteProject"/> <property name= "jar" value="./build/jar"/> <target name="clean"> <delete dir="./build"/> <mkdir dir="./build"/> <mkdir dir="./build/jar"/> </target> <target name="run"> <junit printsummary="yes" haltonfailure="yes" showoutput="yes"> <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\selenium-server-standalone-2.35.0.jar"/> <classpath location="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100\junit.jar"/> <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\*.jar"/> <classpath location="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\"/> <formatter type="brief" usefile="false"/> <batchtest fork="yes"> <fileset dir="C:\Program Files\Java\apache-ant-1.9.2\lib" includes="selenium-server-standalone-2.35.0.jar"/> <fileset dir="E:\Swaroop Don't Touch\Selenium\eclipse-jee-juno-SR2-win32\eclipse\plugins\org.junit_3.8.2.v3_8_2_v20100427-1100" includes="junit.jar"/> <fileset dir="C:\Program Files\Java\apache-ant-1.9.2\lib" includes="*.jar"/> <fileset dir="./build" includes="**/AllTests.*"/> </batchtest> </junit> </target> <target name="compile"> <javac srcdir="./src/JunitSuiteProject" destdir="./build" includeantruntime="true"> <classpath location="C:\Program Files\Java\apache-ant-1.9.2\lib\selenium-server-standalone-2.35.0.jar" /> </javac> </target> <target name="jar"> <jar destfile="./build/jar/JunitSuite.jar" basedir="./build"> </jar> </target> </project> ************************************************************** package JunitSuiteProject; import junit.framework.TestSuite; import junit.framework.Test; import org.junit.runners.Suite; import org.junit.runner.RunWith; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({JunitTest1.class}) public class AllTests extends TestSuite{ public static Test Suite(){ TestSuite g = new TestSuite(); g.addTest(new JunitTest1("testprintTest")); return g; } public static void main(String[]args){ junit.textui.TestRunner.run(Suite()); } } 当我在 Junit 中指定了 Jars 的位置时,有人可以告诉我这里的问题是什么吗?为什么当我触发 Ant 文件时会出现 ClassNotFoundException 错误。 The output says: [junit] Running AllTests [junit] Testsuite: AllTests [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Null Test: Caused an ERROR [junit] AllTests [junit] java.lang.ClassNotFoundException: AllTests 使用的 junit 是 3.8 版本,作为 junit 测试它执行得很好,但从 build.xml 文件启动时出现错误。 junit.framework.Test包是使用JUnit v3的旧项目使用的遗留命名空间,它适用于不支持注释的Java版本。 org.junit.Test包是JUnit v4使用的新命名空间,它的注释需要Java v1.5或更高版本。 如果可能的话,使用 JUnit 4 和最新的 Java,因为新的注释非常优越。 JUnit 4 的当前发行版包含旧命名空间的副本,以方便迁移;但是,您应该避免使用 JUnit3 形式进行新测试,并尽可能将旧测试转换为 JUnit 4。 在 JUnit 4 中,两个包都包含在库 jar 中以用于迁移目的,但您应该使用 org.junit.Test 来生成新代码,并且这些测试不需要扩展 TestCase。 您可以查看Junit4测试用例的基本示例。

回答 1 投票 0

使用 Selenium 在 InPrivate 模式下打开 Edge

我正在使用 Selenium 3.4 使用 Microsoft WebDriver 启动 Edge,该 WebDriver 现在由 Microsoft 维护。 有什么方法可以使用 Selenium 以 InPrivate 模式启动浏览器? 我有搜索...

回答 4 投票 0

如何使用 Selenium Webdriver .NET 绑定设置 Chrome 首选项?

这是我正在使用的,用户代理可以成功设置,但下载首选项不能。 Windows 7、Chrome 26、Selenium-dotnet-2.31.2、chromedriver_win_26.0.1383.0 ChromeOptions chromeOptio...

回答 2 投票 0

find_element_by_* 命令在 Selenium 中已弃用

启动功能时 def 运行(驱动程序路径): 驱动程序 = webdriver.Chrome(executable_path=driver_path) driver.get('https://tproger.ru/quiz/real-programmer/') 按钮 = 驱动程序。

回答 4 投票 0

WebDriver'对象没有属性'find_element_by_id'

我正在运行 tiktok scrapper,但出现此错误。我该如何修复它? C:\Users dit\Downloads\Compressed\shot\shorts iktokscraper\downloader.py:31:DeprecationWarning:executable_path 已

回答 1 投票 0

如何使用webDriver(java)截图并一张一张粘贴到word文件中

我可以通过 ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 截取屏幕截图 在我的应用程序中,我必须为每个页面截取屏幕截图,因此我想将多个屏幕截图保存在...

回答 2 投票 0

org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“select”,但在选择下拉值时是“span”

在这里,我尝试使用 selenium 脚本从下拉列表中选择一个值,但我在控制台中收到此错误,例如 “线程“主”org.openqa.selenium.support.ui.UnexpectedTagNameExcept 中出现异常...

回答 3 投票 0

无法访问网络选项卡下 XHR 选项卡下的预览选项卡

我一直在尝试编写代码来打印网络选项卡下的 Fetch/XHR 选项卡下的预览。图像如下所示- 在这张图片中,我想在控制台上打印......

回答 1 投票 0

尝试使用 CSS 选择器和 xpath,但对我需要单击的按钮没有任何作用

我试图找到一个实际上是按钮的元素,但每次它都显示“无法找到此类元素”。 HTML 代码: 我试图找到一个实际上是按钮的元素,但每次它都显示“无法找到此类元素。” HTML 代码: <div class="details__selectItem"> <a href="/product/lens?sku=4234_BLACKCRYSTAL" class="btn primary block" style=""> Select Lens Type </a> </div> 我尝试使用以下定位器: driver.findElement(By.linkText("Select Lens Type")).click(); driver.findElement(By.xpath("/html/body/div[4]/div/div[1]/div[2]/div/div[3]")).click(); driver.findElement(By.cssSelectors("a.primary.block[href='/product/lens?sku=4234_BLACKCRYSTAL']")).click(); driver.findElement(By.className("details__selectItem")).click(); 最可能的情况是,当您尝试查找该元素时,该元素根本不存在。特别是因为您已经尝试了四种不同的选择器。当您尝试查找元素时页面未完全加载时,可能会发生这种情况。您可以实现等待功能,该功能将等待指定的秒数,直到元素存在、可见或可单击。我不确定你的 Selenium 是哪种语言,但这里有一个 Java 版本: int timeoutSeconds = 30; By locator = By.id("element-id"); //use any 'By' here WebDriverWait wait = new WebDriverWait(driver, timeoutSeconds); wait.until(ExpectedConditions.presenceOfElementLocated(locator)); driver.findElement(locator).click(); 或者,您可以等待可点击或可见,使用此行而不是上面示例中的倒数第二行: wait.until(ExpectedConditions.visibilityOfElementLocated(locator)); wait.until(ExpectedConditions.elementToBeClickable(locator)); 如果您使用的是 Java 以外的其他语言,您将必须搜索特定语言的 api,以找到正确的语法。据我所知,Selenium 在不同语言中并不相同,但我希望大多数语言都可以使用它。 即使使用正确的定位器并在硒中等待后,我也无法找到元素

回答 2 投票 0

更改 ChromeDriver 使用的下载默认目录不起作用

问题陈述 我尝试更改 WebDriver 的 download.default_directory,但由于某些奇怪的原因,例如,当我们单击链接下载 PDF 时,它会转到用户的下载文件夹

回答 1 投票 0

如何从webdriver中的属性文件调用浏览器或驱动程序?

有人可以帮我解决上述问题吗? 属性文件包含 browser=Mozilla 我们在 webdriver 中如何称呼它。 因为我只需要更改属性文件中的浏览器值,例如 firefox、c...

回答 2 投票 0

如何将chromedriver.exe添加到PATH?

我安装了网络驱动程序和selenium。当我尝试运行代码来打开谷歌时,出现此错误。我已多次尝试将 .exe 添加到路径中,但它不起作用。 消息=消息...

回答 3 投票 0

Selenium WebDriver 和浏览器选择文件对话框

我使用的是selenium webdriver,C#。 是否可以使用 Firefox 选择文件对话框来使用 webdriver? 或者我必须使用 AutoIt 之类的东西吗?

回答 9 投票 0

有获取最新 Microsoft Edge 版本号的链接吗?

我正在寻找一个链接来获取 Microsoft Edge 的最新驱动程序版本号,类似于 Google Chrome 的链接:https://chromedriver.storage.googleapis.com/LATEST_RELEASE 我有一个功能可以重新...

回答 4 投票 0

如何通过selenium在列表中选择一个选项?

我的代码是: WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH, "//option[@value='/icpplustieb/citar?p=8&locale=es']"))).click() 网址是:https://icp。

回答 3 投票 0

无法使用selenium从元素中获取数据值

在我的代码中,我想从文本中获取数据值。我的代码是这样的: 驱动程序= webdriver.Chrome(chrome_options = chrome_options,executable_path =“chromedriver.exe”) driver.get('https...

回答 1 投票 0

检查是否检测到selenium webdriver?

当从 python 运行 selenium webdriver 或从 javascript 运行 puppeteer 时,有什么方法可以检查我正在访问的网站是否检测到我正在运行机器人?有没有什么网站可以...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.