【发布时间】:2018-07-01 04:38:55
【问题描述】:
我正在使用 WebDriver 在 Java 中编写程序,但在选择 webElement 后获取文本时遇到了一些问题。
我想要的部分网站的HTML代码如下:
<select name="language" id="langSelect" style="width:100px;">
<option value="1" >Français</option>
</select>
</div>
<div id="content">
<div id="Pagination"></div>
<div id="mid">
</div>
</div>
搜索栏和语言下拉栏的文本框类代码
我的 Java 代码目前能够使用 chrome 驱动程序打开 chrome,并且能够在搜索栏中输入内容。但是,我无法获得该条目产生的文本。
在这里的图片中,我在搜索栏中输入了“avoir”,并且我希望框内的所有文本在 xpath 中似乎没有任何 ID 或名称。
有人可以帮我找到如何从下拉语言菜单后的这些字段中获取和保存文本吗?
提前谢谢你!
我目前的代码:
//import statements not shown
public class WebScraper {
public WebScraper() {
}
public WebDriver driver = new ChromeDriver();
public void openTestSite() {
driver.navigate().to(the URL for the website);
}
public void enter(String word) {
WebElement query_editbox =
driver.findElement(By.id("query"));
query_editbox.sendKeys(word);
query_editbox.sendKeys(Keys.RETURN);
}
public void getText() {
//List<WebElement> searchResults =
driver.findElements(By.xpath("//div[@id='mid']/div"));
// Writer writer = new BufferedWriter(new
OutputStreamWriter(new FileOutputStream("status.txt"),
"utf-8"));
//int[] index = {0};
WebElement result=driver.findElement(By.id("mid"));
System.out.println(result.getText());
}
public static void main(String[] args) throws IOException {
System.setProperty("webdriver.chrome.driver", "chromedriver");
System.out.println("Hello");
WebScraper webSrcaper = new WebScraper();
webSrcapper.openTestSite();
webSrcapper.enter("avoir");
webSrcapper.getText();
System.out.println("Hello");
}
}
【问题讨论】:
-
你能检查一下图像吗?我们无法访问图片。
-
很抱歉。你能看看我现在发布的图片吗?这是“在此处输入图像描述”链接。谢谢!
-
那么,您想从显示的 3 框中获取所有内容吗?
-
是的,这就是我的目标。
-
好的。我已经更新了答案。请检查
标签: java selenium selenium-webdriver webdriver