设置span元素的内容,使用selenium从列表中填充

时间:2017-02-21 15:12:42

标签: html selenium

我正在尝试使用selenium设置span元素的内容,但似乎没有将其设置为值。 span字段是在用户键入时从列表中填充的值。

有关问题的进一步详情

1)转到http://www.goeuro.es。 2)尝试将目标字段设置为:   a)如果用户在目标字段中键入berlin,它将被文本替换(这将从他们的js填充)

BerlínAlemania

我尝试使用以下代码进行设置。

@FindBy(xpath = ".//*[@id='$desktopSearchform']/div[1]/div[2]/d-departure-position/div/div/div/span[1]")
private WebElement fromSearchFieldSpan1;

@FindBy(xpath = ".//*[@id='$desktopSearchform']/div[1]/div[2]/d-departure-position/div/div/div/span[2]")
private WebElement fromSearchFieldSpan2;
.
.
.
.
((JavascriptExecutor)driver).executeScript("arguments[0].innerHTML = 'Berlín'", fromSearchFieldSpan1);
((JavascriptExecutor)driver).executeScript("arguments[0].innerHTML = 'Alemania'", fromSearchFieldSpan2);

当我尝试使用上面提供的代码时,它似乎将文本设置为所述字段的标题,因为我在提交页面时收到输入验证错误(好像这些值根本没有输入)。 附上截图。enter image description here

我无法使用sendKeys()设置此字段的值,因为这不是文本字段。

有任何想法如何使用selenium web驱动程序设置。?

1 个答案:

答案 0 :(得分:1)

您应该在处理span时尝试处理input元素。请尝试以下代码:

@FindBy(xpath = "//input[@id='$city']")
private WebElement fromSearchFieldSpan;

fromSearchFieldSpan.sendKeys('Berlin Alemania')