Tag: selenium webdriver

Selenium Webdriver将鼠标移动到Point

我目前正在尝试将光标移动到一个点( org.openqa.selenium.Point ),该点是通过检查实时图表上标记的出现而设置的,我从中可以得到没有细节但可以找到X和Y的坐标。 如何移动鼠标hover在所述点以打开基础JavaScript菜单? 目前的代码 //finds marker on the current web page Point image = page.findImage(“C:\\Pictures\\marker.png”) ; //move mouse to this x,y location driver.getMouse().mouseMove((Coordinates) image); 这不起作用,因为Point无法转换为org.openqa.selenium.interactions.internal.Coordinates 。

防止在selenium webdriver测试中加载外部内容

问题是: 是否可以告诉由selenium webdriver控制的浏览器不从外部源加载任何内容,或者不从指定的域列表加载资源? 底色: 我有一个网页,我用selenium webdriver编写一个基于java的测试脚本 – 我无法更改页面,我只需编写测试。 网站从其他域加载的某些外部内容存在问题。 外部的东西是我的测试实际上不需要的一些javascript代码,但是有问题的页面包括。 现在的问题。 有时外部源是超级慢的,阻止webdriver在给定的页面加载超时(20秒)内加载页面。 我的测试实际上运行正常,因为页面实际上已加载 – 所有html都在那里,所有内部脚本都被加载并且可以工作。 随便想一想: 有不同浏览器的扩展可以做我要求的,但我需要使用几个浏览器运行我的测试,即chrome,firefox和phantomjs。 而且没有像phantomjs扩展这样的东西。 如果可能的话,我需要一个纯粹基于webdriver技术的解决方案。 不过,我愿意为每个浏览器编写一个单独的解决方案。 我很感激有关如何解决这个问题的任何想法。

如何使用Selenium WebDriver和Java滚动特定的DIV?

WebDriver无法识别某些WebElements,WebDriver无法找到浏览器可见区域中不可见的元素。 为了使WebDri可以通过WebDriver查看,我们需要在浏览器的视图中使该元素可见,以向下滚动特定的div! 如何在我的网页的特定区域执行操作(向下滚动并单击)。 我尝试了很多,没有帮助我。 请帮我解决我的问题。

从另一个class级打电话给

我想从class1调用class2 ,但class2没有一个main函数来引用类似Class2.main(args);

使用Selenium Webdrivers方法“browser.helperApps.neverAsk.saveToDisk”如何在点击链接时自动下载文件

在Java中使用Selenium Web驱动程序,我试图通过单击应用程序中的链接来下载文件。 即点击链接时,应该开始下载而不询问是否使用Firefox 12浏览器保存文件。 我正在使用browser.helperApps.neverAsk.saveToDisk方法。 实际结果: 当我运行此代码时,文件不会自动保存,而是要求保存或不保存。 我使用数据驱动的方法,我从Excel文件中获取元素。 有人可以帮帮我吗? 下面是使用browser.helperApps.neverAsk.saveToDisk代码 public class Driver { static WebDriver driver; public static void main(String[] args) { FirefoxProfile profile = new FirefoxProfile(); profile.setPreference(“browser.download.folderList”, 2); profile.setPreference(“browser.download.dir”, “d:\\”); profile.setPreference(“browser.helperApps.neverAsk.saveToDisk”, “application/vnd.ms-excel”); driver = new FirefoxDriver(profile); driver.get(“https://www.testapp.com”); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); TestRunner.run(suiteToRun()); } public static Test suiteToRun(){ TestSuite suite = new TestSuite(); System.out.println(“Login Class”); suite.addTestSuite(LoginLogout.class); […]

使用Java的Selenium WebDriver和HTML Window位置

我将Selenium WebDriver与java.awt.Robot结合使用,以更好地模拟用户与Web应用程序的交互。 是的,我知道这可能是不必要的,但我服务的客户要求它。 目前事情进展顺利,但我有一个小问题,我似乎找不到一个好的方法来获取屏幕位置的网页元素。 标题栏,菜单栏,导航栏等所有内容都会将内容推到物理屏幕上(Robot从中获取坐标),但对Selenium报告元素的位置没有影响。 当我调用: element.getLocation(); 在Selenium WebElement上,它总是给我相对于HTML内容呈现窗格的位置,而不是浏览器窗口本身。 更好的例子是: driver.findElement(By.tagName(“body”)).getLocation(); 无论窗口的实际屏幕位置如何,始终返回0,0。 现在我通过在最大化窗口后添加垂直和水平偏移来攻击它,但是这些在不同的浏览器之间是不一样的(例如,IE的顶部装饰占用了比Firefox更多的空间),并且对于每个用户可能是不同的如果他们有书签工具栏,搜索栏等添加。 是的,我知道我可以在全屏模式下运行,但如果可能的话,我宁愿不这样做。 有没有办法使用WebDriver以可靠的方式获取元素的物理屏幕位置?

Selenium 3.7:geckodriver:WebDriverException:org.apache.http.conn.HttpHostConnectException连接被拒绝

最近我升级到了Selenium 3.7。 码: import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public static void main (String args[]){ System.setProperty(“webdriver.gecko.driver”, “/usr/local/bin/geckodriver”); WebDriver driver = new FirefoxDriver(); driver.get(“http://www.google.com”); driver.quit(); } 包含的图书馆: selenium的Java-3.7.1 /selenium服务器独立-3.7.1.jar selenium – java的3.7.1 /库/的HttpCore-4.4.6.jar selenium – java的3.7.1 /库/ HttpClient的-4.5.3.jar selenium – java的3.7.1 /库/番石榴23.0.jar selenium – java的3.7.1 /库/ GSON-2.8.2.jar selenium的Java-3.7.1 /库/共享记录-1.2.jar selenium的Java-3.7.1 /库/公地EXEC-1.3.jar selenium的Java-3.7.1 /库/公地编解码器1.10.jar selenium – java的3.7.1 /库/字节的好友-1.7.5.jar selenium […]

在整个selenium套件中使用相同的Web驱动程序

我有一个inheritance自相同基类的以下selenium测试套件,当我运行整个测试套件时,如何让测试使用相同的Web驱动程序实例? 我也希望孤立地运行每个测试。 我相信这将大大减少运行套件所需的时间。 此测试从maven运行,而maven又运行每个测试类。 @RunWith(Suite.class) @SuiteClasses({ AdminPortalTestSuite.class, DevPortalTestSuite.class, CommonTestSuite.class }) public class SeleniumTestSuite { } 基类所有测试都inheritance自 @BeforeClass public static void setUp() throws Exception { if (null == baseUrl || !baseUrl.startsWith(“https://”)) { baseUrl = “https://localhost:8443”; } if (null == browser || browser.startsWith(“${“)) { browser = “firefox”; } //retrieve properties including locale. retrieveProperties(); Thread.sleep(4000); setUpDriver(); } @After […]

无法从中读取VR路径注册表

版本:geckodriver-v0.20.0-win64 平台:Windows 10 Home Single 浏览器:Firefox:59.0.2(64位) selenium:selenium-java-3.11.0 intelliJ Idea:2018.1社区版 您好,我开始在intelliJ IDEA中使用带有Java的WebDriver。 我使用Maven导入了Selenium,并使用Selenium网页中提供的代码添加了依赖项。 我下载了geckodriver并更新了Windows路径。 我开始编码,但我得到的输出在我看来是一个错误。 有人可以帮我理解发生了什么吗? import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class firstTry { public static void main (String [] args){ WebDriver driver = new FirefoxDriver(); driver.quit(); } } Firefox打开和关闭没有问题,但在控制台中我有一个输出似乎是一个错误给我。 如下: 1522649487586 geckodriver INFO geckodriver 0.20.0 1522649487598 geckodriver INFO Listening on 127.0.0.1:31435 1522649488194 mozrunner::runner INFO Running […]

是否可以在Selenium Webdriver Java中使用driver.switchTo()。frame(“frameName”)切换到框架中的元素?

我有一个多个嵌套框架,我需要访问这些框架下的元素。 由于这些帧是动态的,我无法访问这些元素。 我是否可以在不使用driver.switchTo()的情况下访问元素.frame() 喜欢直接使用xpath或jquery,javascript或其他什么? 欢迎任何建议