我想訪問下列元素,使用java的唯一指標值。 在name =「txnSource」下用選項值標識的所有文本值都可以從下拉選擇器中進行選擇。我想要從下拉框中自動選擇數值,這就是爲什麼我需要知道如何訪問這些值... 沒有「findElement(By.value(」value「)) )「那麼我怎麼才能按值訪問元素?如何使用java和selen引用以下html元素?
我認爲通過xpath訪問會非常不穩定。而且,下拉列表中選項的任何更改都需要對xpath標識進行全面修改。
我想訪問下列元素,使用java的唯一指標值。 在name =「txnSource」下用選項值標識的所有文本值都可以從下拉選擇器中進行選擇。我想要從下拉框中自動選擇數值,這就是爲什麼我需要知道如何訪問這些值... 沒有「findElement(By.value(」value「)) )「那麼我怎麼才能按值訪問元素?如何使用java和selen引用以下html元素?
我認爲通過xpath訪問會非常不穩定。而且,下拉列表中選項的任何更改都需要對xpath標識進行全面修改。
您可以選擇從選擇列表這樣
new Select(driver.findElement(By.name("txnSource"))).selectByVisibleText("Text- Stock Movement (DOGS)");
http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/Select.html
選項在Java中,我認爲這將是東西這樣
IWebElement dropDownListBox = driver.findElement(By.Name("txnSource"));
SelectElement clickThis = new SelectElement(dropDownListBox);
clickThis.SelectByValue("500");
這是它是如何在Ruby中做
Selenium::WebDriver::Support::Select.new(@driver.find_element(:name, "txnSource")).select_by(:value, "500")
在Java中,你可以做任何這些:
driver.findElement(By.cssSelector("option[value='500']")).click();
或
driver.findElement(By.xpath("//option[@value='500']")).click();
Select select = new Select(driver.findElement(By.name("txnSource")));
select.selectByValue("500");