如何让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元素,但都没有工作。
答案 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