通过xpath selenium web驱动程序查找元素

时间:2016-05-09 11:37:30

标签: html css xpath selenium-webdriver

我有一个网页:

  <div class="formfonttitle">Wireless - General</div>
    <div style="margin-left:5px;margin-top:10px;margin-bottom:10px"><img       src="/images/New_ui/export/line_export.png"></div>
    <div class="formfontdesc">Set up the wireless related information below.</div>
    <table width="99%" border="1" align="center" cellpadding="4" cellspacing="0" id="WLgeneral" class="FormTable">
    <tr id="wl_unit_field">
    <th>Frequency</th>
    <td>
    <select name="wl_unit" class="input_option" onChange="_change_wl_unit(this.value);">
    <option class="content_input_fd" value="0" >2.4GHz</option>
    <option class="content_input_fd" value="1" selected>5GHz</option>
    </select>
    </td>
    </tr>

我正在尝试使用xpath选择“2.4GHz”。默认情况下,选择“5GHz”选项。我是从Python脚本和使用selenium webdriver这样做的。

我这样做:

elements = mydriver.find_element_by_xpath("//div[@class='wl_unit']")
title = elements[1].find_elements_by_xpath(".//div[@class='content_input_fd']")

但它不起作用。

4 个答案:

答案 0 :(得分:0)

你可以通过像这样的

mydriver.execute_script("$('.input_option option[value="0"]')")

This也可以帮助您在python selenium中选择一个选项。

答案 1 :(得分:0)

您可以使用以下XPath查找2.4GHz选项元素,然后执行&#39;点击&#39;在元素上选择它:

option = mydriver.find_element_by_xpath("//select[@name='wl_unit']/option[@value='0']")
option.click()

答案 2 :(得分:0)

@Manoj 它在select下,因此您可以使用通常用于下拉列表的select方法,如下所示:

你写了这个。 Webelement elements = mydriver.find_element_by_xpath(“// div [@ class ='wl_unit']”)

现在继续:

选择对象=新选择(元素);

object.selectByValue(1);

object.selectByVisibleText( “5GHz的”)

希望这会对你有帮助..

答案 3 :(得分:0)

尝试以下代码

WebElement wlUnit= WebElement elea= driver.findElement(By.name("wl_unit"));
Select wlSelect = new Select(wlUnit);
wlSelect.selectByValue(0);

OR

WebElement wlUnit= WebElement elea= driver.findElement(By.name("wl_unit"));
Select wlSelect = new Select(wlUnit);    
wlSelect.selectByVisibleText("2.4GHz");