我有一个下拉代码。加载网页时填写表单。我想返回已经选择的值并将其分配给Python变量。我收到错误:TypeError: get_attribute() takes exactly 2 arguments (1 given)
HTML:
<select id="TimeZone" name="TimeZoneTable" size="1">
<option value="EST">Eastern Standard Time</option>
<option value="Central">Central Time</option>
<option value="Mountain">Mountain Time</option>
</select>
PYTHON:
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('someurl.com')
driver.get_element_by_ID
value = driver.find_element_by_name("TimeZoneTable").get_attribute()
print value
答案 0 :(得分:0)
driver.find_element_by_name("TimeZoneTable").get_attribute("value")
答案 1 :(得分:0)
错误是因为get_attribute方法接受1个变量并获取与该变量关联的值。
value_size = driver.find_element_by_name("TimeZoneTable").get_attribute('size')
value_id = driver.find_element_by_name("TimeZoneTable").get_attribute('id')
value_size现在具有分配给'size'属性的值。
如果你想获取第一个选择的选项,可以采用以下方式:
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import Select
time_zone_obj = driver.find_element_by_id('TimeZone')
options_time_zone = Select(time_zone_obj)
selected_text = options_time_zone.first_selected_option.text
print ">>> selected option is %s"%(selected_text)
答案 2 :(得分:0)
请在Java中找到以下代码。它可能有所帮助。使用选择选择选项。
WebDriver driver = new FirefoxDriver();
driver.get("Your URL");
driver.manage().window().maximize();
WebElement element=driver.findElement(By.id("TimeZone"));
Select options = new Select(element);
options.selectByValue("Central"); //Choose EST etc in place of Central