我正在尝试使用Chrome中的Selenium Webdriver自动推文。我可以登录并单击Tweet按钮,打开Compose new Tweet框,但当我尝试使用元素输入文本时,SendKeys(tweetMessage);
我会得到
使用:selenium-java-3.141.59 chrome=74.0.3729.169(驱动程序信息:chromedriver=74.0.3729.6)
下面是相关代码:
String composeTweetXpath = "//div[@aria-labelledby='Tweetstorm-tweet-box-0-label Tweetstorm-tweet-box-0-text-label']//div";
String tweetMessage = "This is my test Tweet";
WebDriver driver;
driver = new ChromeDriver();
.
.
.
.
try {
element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(composeTweetXpath)));
System.out.println("After wait until...");
element = driver.findElement(By.xpath(composeTweetXpath));
System.out.println("After driver.findElement...");
element.click();
System.out.println("After element.click...");
element.sendKeys(tweetMessage);
System.out.println("Found Tweet box and typed message");
} catch ( Exception e1) {
System.out.println("Failed to find Tweet box");
e1.printStackTrace();
}
令我惊讶的是,我没有在element.click();
上得到错误,而是在element.SendKeys(tweetMessage)上得到错误;这个片段的输出是:
等到...
Driver.FindElement之后...
元素之后.单击...
我还尝试使用:
String js = "arguments[1].value = arguments[0]; ";
System.out.println("Executing : " + js);
javascript.executeScript(js, tweetMessage, element);
...而不是Element.SendKeys(tweetMessage);
这不会落入}catch(异常e1){块,但仍然不会在“撰写新Tweet”框中输入文本。
奇怪的是,如果我使用driver=new FirefoxDriver();
,我会在这行得到TimeoutException错误:
element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath(composeTweetXpath)));
org.openqa.selenium.timeoutexception:预期条件失败:正在等待元素可单击:by.xpath://div[@aria-labelledby='tweetstorm-tweet-box-0-label tweetstorm-tweet-box-0-text-label']//div(尝试10秒,间隔500毫秒)
使用CSS选择器
ChromeDriver newDriver=新ChromeDriver(WebDriverWait waits=new WebDriverWait(newDriver,50);
newDriver.get("https://twitter.com/");
newDriver.findElement(By.name("session[username_or_email]")).sendKeys("arungnairktm@gmail.com");
newDriver.findElement(By.name("session[password]")).sendKeys("Cisco_12345678");
newDriver.findElement(By.className("submit")).click();
WebElement composes = waits
.until(ExpectedConditions.visibilityOfElementLocated(By.id("global-new-tweet-button")));
composes.click();
WebElement tweets = waits.until(ExpectedConditions.visibilityOf(newDriver.findElement(By.cssSelector(
"#Tweetstorm-tweet-box-0 > div.tweet-box-content > div.tweet-content > div.RichEditor.RichEditor--emojiPicker.is-fakeFocus > div.RichEditor-container.u-borderRadiusInherit > div.RichEditor-scrollContainer.u-borderRadiusInherit > div.tweet-box.rich-editor.is-showPlaceholder"))));
tweets.click();
tweets.sendKeys("heys");
我正在使用java使用Selenium在2个文本框中输入文本。我可以在第一个文本框中输入文本,但在第二个文本框中,我不断得到元素不可见异常 HTML代码。。 Java代码。。 错误: 组织。openqa。硒。ElementNotVisibleException:元素当前不可见,因此可能无法与命令持续时间或超时交互:19毫秒生成信息:版本:“2.53.1”,版本:“a36b8b1”,时间:“2016
我正在尝试在航班搜索应用程序(https://flights.msn.com/en-in/flight-search)中写任何新的字段,但不能写。我尝试了所有可能的XPath和定位器,但都做不到。 原点中的默认值不删除,不允许写入任何新字段。 链接:https://flights.msn.com/en-in/flight-search 线程“main”org.openqa.selenium.nos
本文向大家介绍怎样在文本框中禁用中文输入法?相关面试题,主要包含被问及怎样在文本框中禁用中文输入法?时的应答技巧和注意事项,需要的朋友参考一下 用文本框的 css 属性 松开键时检查文本框的的值,只保留 Unicode 编码在 0 ~ 255 的字符 把所有双字节字符替换为空 把中文字符替换为空 https://www.cnblogs.com/longhao510/p/5476926.html
我无法在物理SD卡上写入文件。我想请求用户写入整个SD卡的权限。用户授予权限。现在我想在SD卡上的特定目录中创建文件(目录已经存在)。当我尝试打开输出流时,我得到异常: Java。Lang.SecurityException:权限拒绝:正在写入com . Android . external stage . external stage provider uri content://com . A
问题内容: 我正在尝试我的React.js的第一部分,并在很早的时候就陷入了困境…我有下面的代码,该代码将搜索表单呈现为。但是,在搜索框中输入内容无济于事。 大概在通过道具并上下移动时会丢失一些东西,这似乎是一个常见问题。但是我很沮丧-我看不到缺少的东西。 (最终,我会使用其他类型的,但是我只是想让这一类正常工作。) 问题答案: 您尚未将道具放在机箱中。它必须在JSX中。 在文档中充分考虑了将 p
我想发送使用xpath作为定位器。错误: 线程“main”org.openqa.selenium.InvalidElementStateException中的异常:元素被禁用,因此不能用于操作命令持续时间或超时:75毫秒