WebDriver是一个用于控制Web浏览器的API,模仿真实用户。它主要用于自动化测试。 WebDriver具有多种语言绑定和驱动程序(允许控制各种浏览器)。如果您的问题特定于其中一个,请确保还包含相应的标记。
org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应该是“select”,但在选择下拉值时是“span”
在这里,我尝试使用 selenium 脚本从下拉列表中选择一个值,但我在控制台中收到此错误,例如 “线程“主”org.openqa.selenium.support.ui.UnexpectedTagNameExcept 中出现异常...
我一直在尝试编写代码来打印网络选项卡下的 Fetch/XHR 选项卡下的预览。图像如下所示- 在这张图片中,我想在控制台上打印......
尝试使用 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 在不同语言中并不相同,但我希望大多数语言都可以使用它。 即使使用正确的定位器并在硒中等待后,我也无法找到元素
问题陈述 我尝试更改 WebDriver 的 download.default_directory,但由于某些奇怪的原因,例如,当我们单击链接下载 PDF 时,它会转到用户的下载文件夹
有人可以帮我解决上述问题吗? 属性文件包含 browser=Mozilla 我们在 webdriver 中如何称呼它。 因为我只需要更改属性文件中的浏览器值,例如 firefox、c...
我安装了网络驱动程序和selenium。当我尝试运行代码来打开谷歌时,出现此错误。我已多次尝试将 .exe 添加到路径中,但它不起作用。 消息=消息...
Selenium WebDriver 和浏览器选择文件对话框
我使用的是selenium webdriver,C#。 是否可以使用 Firefox 选择文件对话框来使用 webdriver? 或者我必须使用 AutoIt 之类的东西吗?
我正在寻找一个链接来获取 Microsoft Edge 的最新驱动程序版本号,类似于 Google Chrome 的链接:https://chromedriver.storage.googleapis.com/LATEST_RELEASE 我有一个功能可以重新...
我的代码是: WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH, "//option[@value='/icpplustieb/citar?p=8&locale=es']"))).click() 网址是:https://icp。
在我的代码中,我想从文本中获取数据值。我的代码是这样的: 驱动程序= webdriver.Chrome(chrome_options = chrome_options,executable_path =“chromedriver.exe”) driver.get('https...
当从 python 运行 selenium webdriver 或从 javascript 运行 puppeteer 时,有什么方法可以检查我正在访问的网站是否检测到我正在运行机器人?有没有什么网站可以...
我到处都读到网站不可能检测到用户正在使用 selenium webdriver...但为什么呢? 例如,firefox 中的 webdriver 插件添加了一个“webdriver 属性”...
JMeter - Webdriver 无法在 Chrome 上加载网页
我根据网上的一个简单示例编写了 JMeter - Webdriver 测试。负载测试应加载 Chrome 并打开特定页面。 Chrome打开,但页面未显示,jmeter返回错误。
无法单击元素并使用 xpath 和 id-selenium 抓取网页
我一直在尝试在 Selenium 库的帮助下使用 xpath 和元素 id 创建代码来选择网页上的元素 - https://tmrsearch.ipindia.gov.in/eregister/ 。我提到了两个
WebdriverIO + Jasmine:如何在基于测试文件名运行套件时排除特定测试文件
我们目前使用最新的 8.X WebdriverIO 版本和最新的 Jasmine 4.X,使用最新的 Node 18.X。 在我的 Wdio.conf.js 文件中,我有套件: 全部:['路径/test1.js','路径/test2.js'], test1.js 有一个
我有这个程序,它登录到微软管理然后创建新的用户配置文件,我有一个 for 循环来执行此操作,但它在停止之前总是只运行两次。这可能是微软限制吗
我正在尝试找到一个按钮元素: 我正在尝试找到一个按钮元素: <button rpl="" class="login w-100 button-large px-[var(--rem14)] button-brand items-center justify-center button inline-flex " type="button"> 我尝试通过类名找到它,但是当我使用浏览器中的检查元素复制它时,它的格式是空格和 3 个换行符,如下所示: login w-100 button-large px-[var(--rem14)] button-brand items-center justify-center button inline-flex 我尝试了以下没有换行符的操作,但失败了: button = wait.until(EC.presence_of_element_located((By.CLASS_NAME, 'login w-100 button-large px-[var(-rem14)] button-brand items-center justify-center button inline-flex'))) 如何正确指定类名? By.CLASS_NAME, 'login w-100 button-large px-[var(-rem14)] button-brand items-center justify-center button inline-flex' 以上说法不正确。当有多个类时,您不能使用 CLASS_NAME 定位器策略。 尝试使用 XPATH 定位器策略: By.XPATH, "//button[contains(@class,'login w-100')]" 当您尝试在浏览器中检查元素时,如果 //button[contains(@class,'login w-100')] 此 XPath 表达式定位到 1 个元素,则上面的 XPath 定位器将起作用。先试试吧。
这是关于java中的selenium webdriver。如果单击某个元素,通常速度很快,但有时当服务器繁忙时,它会在浏览器顶部显示“正在连接...”并挂起。通常要...
在下面的页面摘录中,我需要能够单击“应用程序配置文件” 但无论我尝试什么,我都无法让它发挥作用。 我不断收到 OpenQA.Selenium.NoSuchElementException。 在下面的页面摘录中,我需要能够单击“应用程序配置文件” 但无论我尝试什么,我都无法让它发挥作用。 我不断收到 OpenQA.Selenium.NoSuchElementException。 <body> <div id="main-page"> <div class="page"> </div> <div id="page-header" class="page-header"> <div id="page-header-navbar" class="page-header-navbar"> <div class="page-header-contents"> <div class="page-header-navbar-left"> <div class="nav-menus"> <div class="nav-menu" data-item="dashboard"> <div class="nav-menu-header selected -js-header"> <i class="nav-menu-icon fa fa-tachometer"></i> <span class="nav-menu-header-label">Dashboard</span> </div> </div> <div class="nav-menu" data-item="policy"> <div class="nav-menu-header -js-header"> <i class="nav-menu-icon fa fa-sitemap"></i><span class="nav-menu-header-label">App Profiles</span> </div> </div> </div> </div> </div> </div> </div> </div> </body> 这些已经尝试过: IWebElement element = driver.FindElement(By.XPath("//div[@class='nav-menu-header-label' and text()='App Profiles']")); IWebElement appProfilesElement = driver.FindElement(By.XPath("//span[text()='应用程序配置文件']")); 先尝试等待: from selenium.webdriver.support.ui import WebDriverWait # wait for 10 seconds wait = WebDriverWait(driver, 10) xpath = "//div[@class='nav-menu-header-label' and text()='App Profiles']" element = wait.until(EC.element_to_be_clickable((By.XPATH, xpath))) element.click()
Java-Selenium - 无法找到 CDP 版本 98 的精确匹配,因此返回找到的最接近的版本:97
我创建了一个 Maven 项目,用于从我在代码中给出的网页 URL 截取屏幕截图。我使用的是 chrome 驱动程序版本 98 和 selenium 版本 4.1.2。我收到一团混乱的警告...