我正在尝试遵循Selenium Webdrive教程
http://www.toolsqa.com/selenium-webdriver/headless-browser-testing-selenium-
webdriver/
有一个简单的测试,这里是步骤:
开启网页http://google.com
获取页面标题。
搜索“ Selenium”
再次检查页面标题。
从类代码示例开始,这是我的代码
package headlessBrowser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class TestOne {
public static void main(String[] args) {
// Declaring and initialising the HtmlUnitWebDriver
HtmlUnitDriver unitDriver = new HtmlUnitDriver();
// open google.com webpage
unitDriver.get("http://google.com");
System.out.println("Title of the page is -> " + unitDriver.getTitle());
// find the search edit box on the google page
WebElement searchBox = unitDriver.findElement(By.name("q"));
// type in Selenium
searchBox.sendKeys("Selenium");
// find the search button
WebElement button = unitDriver.findElement(By.name("gbqfba"));
// Click the button
button.click();
System.out.println("Title of the page is -> " + unitDriver.getTitle());
}
}
尝试执行它,我遇到以下错误
Title of the page is ->
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element with name: q
没有打印页面名称:????? 似乎在页面中找不到“ q”元素。????
我检查了Firebug,似乎代码中存在“ q”元素(在下面的代码片段中查找name =“ q” …)
<input spellcheck="false" dir="ltr" style="border: medium none; padding: 0px; margin: 0px; height: auto; width: 100%; background: transparent url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D") repeat scroll 0% 0%; position: absolute; z-index: 6; left: 0px; outline: medium none;" aria-autocomplete="both" role="combobox" aria-haspopup="false" class="gsfi" id="lst-ib" maxlength="2048" name="q" autocomplete="off" title="Cerca" value="" aria-label="Cerca" type="text">
我在Windows 7上使用Eclipse Luna
有什么建议?先感谢您 …
切萨雷
我已经解决了....我在组织中的代理后面,所以我必须设置代理。
我发现了这一点:HtmlUnitDriver似乎没有正在加载page。
寻找FunThomas424242评论,并观看此链接https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/htmlunit/HtmlUnitDriver.html
因此,正确的代码如下:
package headlessBrowser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
public class TestOne {
public static void main(String[] args) {
// Declaring and initialising the HtmlUnitWebDriver
HtmlUnitDriver unitDriver = new HtmlUnitDriver();
// Necessary set Proxy if you're behind it !!!!
unitDriver.setProxy("proxy.YOUR-ORGANIZATION.COM", XXXX);
// open google.com webpage
unitDriver.get("http://www.google.com");
System.out.println("Title of the page is -> " + unitDriver.getTitle());
// find the search edit box on the google page
WebElement searchBox = unitDriver.findElement(By.name("q"));
// type in Selenium
searchBox.sendKeys("Selenium");
// find the search button
WebElement button = unitDriver.findElement(By.name("btnG"));
// Click the button
button.click();
System.out.println("Title of the page is -> " + unitDriver.getTitle());
}
}
“核心”行如下
// Necessary set Proxy if you're behind it !!!!
unitDriver.setProxy("proxy.YOUR-ORGANIZATION.COM", XXXX);
您必须在其中更新代理配置的位置。
我无法使用selenium webdriver 3.4.0启动Firefox浏览器
我想在VS 2010 C#中使用Selenium Web驱动程序打开Chrome浏览器,导航到某个网页,然后关闭驱动程序,但保持浏览器打开。我意识到,我将不得不手动关闭浏览器后,我同意这一点。 到目前为止我有: 我已经尝试了以下所有作为最后一行 有什么想法吗?
我试图运行一些单元测试使用Selenium网络驱动程序和C#。NET for Firefox浏览器,但我无法做到这一点(Chrome和IE11浏览器工作顺利)。 以下是我收集的信息: 操作系统:Windows 10企业版 Gecko驱动程序版本:geckodriver-v0。17.0-win32 Mozilla Firefox版本:54.0.1(32位) 已在“C:\LEO\SELENIUM C\
最近我换了电脑,从那以后我不能用硒启动chrome。我也尝试过Firefox,但浏览器实例就是无法启动。 我得到以下错误: 我安装了最新的chrome版本和chrome驱动程序 编辑:尝试@b0sss解决方案后,我收到以下错误。
上面说 ChromeDriver是一个实现W3C WebDriver标准的独立服务器 看起来W3C WebDriver标准只定义了自动化程序和Chromedriver之间的接口。Chromedriver充当HTTP服务器,从自动化程序获取命令。 但是ChromeDriver如何与Chrome通信呢? 还是通过HTTP协议? 如果是,我们在哪里可以得到关于细节的留档?Chrome内部的哪个组件负责处
问题内容: 我试图单击此页面上的元素: 在这一点上,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用BeautifulSoup从页面源中提取它们。但是,当我尝试使用Selenium时: 全部返回“无法定位元素”,除了“季度”返回一个元素,但它位于图上方的一个元素而不是我感兴趣的表格上方的一个元素。 我认为这是由于位于错误的iframe中,而我找到了所有ifram