从下拉 - 硒中选择

时间:2014-04-16 12:54:56

标签: c# selenium drop-down-menu

如何让Selenium从下拉列表中的选项值中进行选择?

HTML如下:

<select name="cboProxyMember" id="idProxyMember" onchange="selectMember(); return false">
 <option value="29">
 Text - Fullers Inns
 <option value="8840">
 Text - Turks Head

我选择了没有问题的元素,使用:

 var selectproxy = Driver.Instance.FindElement(By.Id("idProxyMember"));
 selectproxy.Click();

但我该如何选择?

我已经按名称和标记名尝试了一个find元素,但都没有工作。

6 个答案:

答案 0 :(得分:2)

很抱歉发布这么晚,下面的代码示例将解决问题,从下拉列表中选择。

var selectproxy = Driver.Instance.FindElement(By.Id("idProxyMember"));
selectproxy.Click();
var SelectOption = new OpenQA.Selenium.Support.UI.SelectElement(selectproxy);
selectElement.SelectByText(<Define your option name which you want to 
select>);

For example: selectElement.SelectByText("Turks Head");

答案 1 :(得分:1)

这是Python中的一个例子,因为我不熟悉C#绑定,我很抱歉。

from selenium.webdriver.support.select import Select

selectproxy = Select(driver.find_element_by_id("idProxyMember"))
selectproxy.select_by_visible_text("Text - Fullers Inns")
selectproxy.select_by_value("29")

答案 2 :(得分:1)

Select select = new Select(driver.findElement(By.id("idProxyMember")));
select.deselectAll();
select.selectByVisibleText("Fullers Inns");
select.selectByValue("29");

答案 3 :(得分:0)

此帖子介绍了如何使用C#从下拉列表中选择选项。您找到的初始IWebElement必须先转换为Select元素,然后才能从中选择选项。 Select a value from drop down using Selenium WebDriver C#

希望这有帮助!

答案 4 :(得分:0)

<?php 
include 'PDFMerger.php';
$pdf = new PDFMerger;
if ($pdf['file']) { 
    foreach($pdf['file']['type'] as $key => $value) { 
    $ispdf = end(explode(".",$pdf['file']['name'][$key]));  
    $ispdf = strtolower($ispdf); 
        if ($value && $ispdf=='pdf') { 
            //upload each file to the server 
            $filename = $pdf['file']['name'][$key]; 
            $filename = str_replace(" ","",$filename); 
            $uploadfile = $uploaddir . $filename; 
            move_uploaded_file($pdf['file']['tmp_name'][$key], $uploadfile); 
        }
    }
   $pdf ->merge('download', 'TEST2.pdf');
} 
?> 

它显示&#34; onchange =&#34; selectMember();&#34;,表示选择任意 下拉完整页面中的项目已更改。 这就是为什么你必须使用之前切换到那个框架 从下拉列表中选择任何值。

driver.switchTo()帧(name_or_id);

现在从下拉列表中选择值

答案 5 :(得分:0)

用于打开浏览器,加载URL并从下拉列表中选择值的示例语句

static WebDriver driver;
System.setProperty("webdriver.ie.driver","C:\\(Path)\\IEDriverServer.exe");
driver = new InternetExplorerDriver();
driver.manage().window().maximize();

driver.get("EnterURLHere");          
driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);

Select value1 = new Select(driver.findElement(By.id("idProxyMember")));    
value1.selectByVisibleText("29");    //Select Character from dropdown list