昨天我的问题解决后(见下面的链接),新的问题已经开始。 首先,上述问题的解决方案仅适用于IE。当我尝试使用相同的代码来提供chrome或firefox时(当然,除了驱动程序)我在开始时(在我降级IEDriverServer之前)收到错误消息。看到链接。
Eclipse Java Selenium failed to connect to localhost
其次。当我使用findelement函数时不会发生。错误消息“无法找到e 但是,这个元素就在那里。这里是应该控制的页面。
这个问题已经经常被要求,但不幸的是答案对我没有帮助。一个解决方案是(因为findelement比浏览器更快)安装以下延迟。 driver.manage()。超时()。 implicitlyWait(5,TimeUnit.SECONDS);
另一个解决方案是搜索id或xpath而不是name(这就是为什么name和id在下面列为findelement)。到目前为止没有成功。没有提到的密钥输入一个字段(密码和名字等,我已经尝试过)。
这些文章最接近我的问题,但没有帮助我。 No such element exception | Internet explorer
Same CSS Slector Not Working in Internet Explorer but works in firefox
反正。 IE将打开,但不会填充其他浏览器和任何元素。这里是代码和错误消息。
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.grid.selenium.*;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.concurrent.TimeUnit;
public class firefoxöffner {
public static void main(String[] args) throws IOException, URISyntaxException {
System.setProperty("webdriver.gecko.driver","./geckodriver");
String service = "D://IEDriverServer.exe";
System.setProperty("webdriver.ie.driver", service);
InternetExplorerDriver driver = new InternetExplorerDriver();
driver.get("https://accounts.google.com/signup/v2/webcreateaccount?flowName=GlifWebSignIn&flowEntry=SignUp");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
WebElement myDynamicElement = driver.findElement(By.id("lastName"));
driver.findElement(By.id("lastName")).sendKeys("B");
driver.findElement(By.name("lastName")).sendKeys("A");
}
}
启动InternetExplorerDriver服务器(64位) 3.8.0.0 在港口47620上听 仅允许本地连接 Mai 06,20188 11:29:28 NACHM。 org.openqa.selenium.remote.ProtocolHandshake createSession 信息:检测到的方言:W3C 线程“main”中的异常org.openqa.selenium.NoSuchElementException:无法找到带有css选择器的元素== #lastName
再次感谢。
答案 0 :(得分:0)
如果您使用Java + Selenium进行Web Interface测试,我建议您使用NoraUi开源框架。
此框架管理IE webdriver,Chrome webdriver和FF webdriver。
答案 1 :(得分:0)
在IE上运行时可能//*[@id="lastName"]
并不能完全为您提供您想要使用的确切元素。相反,你什么时候可以尝试给出如下的Xpath
//*[@id="lastName"]//following-sibling::div"