在这篇文章中,我们将带领您了解如何使用SeleniumWebDriver从隐藏元素中读取文本?的全貌,包括selenium获取隐藏元素的相关情况。同时,我们还将为您介绍有关css–如何使用Seleni
在这篇文章中,我们将带领您了解如何使用Selenium WebDriver从隐藏元素中读取文本?的全貌,包括selenium获取隐藏元素的相关情况。同时,我们还将为您介绍有关css – 如何使用Selenium WebDriver,Java按文本选择Web元素、java – 如何点击Selenium WebDriver中的隐藏元素?、javascript – Selenium WebDriver点击隐藏元素、Selenium WebDriver从:: before伪元素的CSS属性“content”获取文本的知识,以帮助您更好地理解这个主题。
本文目录一览:- 如何使用Selenium WebDriver从隐藏元素中读取文本?(selenium获取隐藏元素)
- css – 如何使用Selenium WebDriver,Java按文本选择Web元素
- java – 如何点击Selenium WebDriver中的隐藏元素?
- javascript – Selenium WebDriver点击隐藏元素
- Selenium WebDriver从:: before伪元素的CSS属性“content”获取文本
如何使用Selenium WebDriver从隐藏元素中读取文本?(selenium获取隐藏元素)
我正在尝试1000
从隐藏的示例中读取示例字符串<div>
:
<div id="hidden_div">1000</div>
我知道这WebElement.getText()
不适用于Selenium2(WebDriver)中的隐藏元素,因此我搜索了解决方案(像这样),显然以下代码应该可以工作:
WebElement hiddenDiv = seleniumDriver.findElement(By.id("hidden_div"));String n = hiddenDiv.getText(); // does not work (returns "" as expected)String script = "return arguments[0].innerText";n = (String) ((JavascriptExecutor) driver).executeScript(script, hiddenDiv);
但这对我不起作用,变量n
始终以结尾null
。我究竟做错了什么?
答案1
小编典典编辑:哦,这可行。
String script = "return document.getElementById(''hidden_div'').innerHTML";
在Firefox中。
这也是。
String script = "return arguments[0].innerHTML";
我也尝试过,但是它似乎不能用于纯Javascript。如此处所述,使用Jquery启动浏览器。如何在Selenium中使用JQuery?并使用以下代码编写脚本。
String script = "return $(''#hidden_div'').text();";
这可行。
css – 如何使用Selenium WebDriver,Java按文本选择Web元素
<div>noreply@somedomain.com</div>
我正在使用Java编写Selenium WebDriver.
需要这个元素的确切CSS选择器才能将它与driver.findElement(By.cssSelector(the-selector).click命令一起使用.
div [class =’b-datalist__item__addr’]选择器不够好,因为我必须根据noreply@somedomain.com搜索不是链接的文本,所以我不能使用findElement(By.linkText())命令.
解决方法
//div[contains(text(),'noreply@somedomain.com')]
java – 如何点击Selenium WebDriver中的隐藏元素?
我的HTML是:
<a href="http://192.168.1.6/eprint_prod_3.8/settings/othercost_add.aspx?type=edit&id=805" title="Plastic Spiral Bind" <div> Plastic Spiral Bind </div> </a>
上述代码在检查时隐藏,但在网格中可见.
硒代码:
driver.findElement(By.partialLinkText("Plastic Spiral Bind")).click();
解决方法
JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("arguments[0].click();",element);
javascript – Selenium WebDriver点击隐藏元素
我知道用硒1我可以这样做如下:
selenium.click(id="idOfHiddenField");
并且这将工作,但是与硒2(WebDriver),这不是.我不想使用jquery来启用或显示隐藏的字段或JavaScript.这是因为大多数测试都在使用xpath.
或者我只需要留下旧的硒,让你点击隐藏的领域?
解决方法
例如:
document.getElementsByClassName('post-tag')[0].click();
上述JavaScript将点击此页面右上方的“Selenium”标签(旁边的问题),即使它被隐藏(假设).
所有你需要做的是通过JavascriptExecutor接口发出这个JS指令,如下所示:
(JavascriptExecutor(webdriver)).executeScript("document.getElementsByClassName('post-tag')[0].click();");
这将使用JS沙箱和综合点击事件来执行点击操作.虽然它破坏了WebDriver用户活动模拟的目的,但是您可以将其用于您的情况下,在您的情况下很好的效果.
Selenium WebDriver从:: before伪元素的CSS属性“content”获取文本
我有以下HTML:
<div id="validationError"> <ul> <li>required: Server Name</li> <li>required: Receiving Port</li> </ul> </div>
使用以下CSS代码:
#validationError:before { content: 'The information provided is either invalid or incomplete.'; }
这是我目前的java代码:
WebElement errorBox = browser.findElement(By.id("validationError")); Assert.assertNotNull("Could not find validation errors",errorBox); System.out.println("Error Explanation: " + error.getCssValue("content") + "\n"); List<WebElement> errorList = errorBox.findElements(By.tagName("li")); for (WebElement error : errorList) { System.out.println("Error: " + error.getText()); } System.out.println("\nError Full Text: " + errorBox.getText());
这是我输出的上述代码:
Error Explanation: Error: required: Server Name Error: required: Receiving Port Error Full Text: required: Server Name required: Receiving Port
我似乎无法找到验证文本的方法“提供的信息无效或不完整.”被展示.在web元素上调用getText()也不会返回预期的字符串,但会在该div中显示任何其他普通文本.有任何想法吗?
解决方法
String script = "return window.getComputedStyle(document.querySelector('#validationError'),':before').getPropertyValue('content')"; JavascriptExecutor js = (JavascriptExecutor)driver; String content = (String) js.executeScript(script); System.out.println(content);
这应该打印
The information provided is either invalid or incomplete.
关于如何使用Selenium WebDriver从隐藏元素中读取文本?和selenium获取隐藏元素的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于css – 如何使用Selenium WebDriver,Java按文本选择Web元素、java – 如何点击Selenium WebDriver中的隐藏元素?、javascript – Selenium WebDriver点击隐藏元素、Selenium WebDriver从:: before伪元素的CSS属性“content”获取文本的相关知识,请在本站寻找。
本文标签: