我有一个包含两个菜单和一个提交按钮的页面。我想在第一个菜单中选择一个选项(公司(,然后在第二个菜单中选中一个项目(type
这是一个简化的HTML页面:
<select name="companies" multiple="multiple" id="IDcompanies" style="width:200px;">
<option value="01">Facebook</option>
<option value="02">Oracle </option>
<option value="03">AWS</option>
<option value="04">Tesla</option>
</select>
<select name="type" id="IDtype" style="width:200px;">
<option value="T1">Type1 </option>
<option value="T2">Type2 </option>
<option value="T3">Type3</option>
</select>
<input type="submit" name="Button1" value="Send" id="ID_Button1" />
在python中,我正在尝试第一部分:点击第一家公司(Facebook(:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
PATH = "C:Program Files (x86)chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get(url)
box = driver.find_element(By.ID, "IDcompanies")
box.select_by_index(0)
但给了我一个错误:AttributeError: 'WebElement' object has no attribute 'select_by_index'
如果有人能帮助我解决这个错误,并指导我如何继续点击第一个菜单,然后点击第二个菜单,再点击提交按钮,我将不胜感激。
为了使用特殊的Selenium方法,如select_by_index
、select_by_value
和select_by_visible_text
,您应该定义并初始化特殊的SelemiumSelect
对象,如下所示:
companies_select = Select(driver.find_element(By.ID, "IDcompanies"))
companies_select.select_by_index(0)
有关更多详细信息,请参阅此处