HTML:
<html>
<head><title>TEST_SELECT</title></head>
<body>
<div class="div1">
<select id='select' class='css1'>
<option id='1' value='a'>AAA</option>
<option id='2' value='b'>BBB</option>
<option id='3' value='c'>CCC</option>
<option id='4' value='d'>DDD</option>
<option id='5' value='e'>EEE</option>
</select>
</div>
</body>
Python:
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver=webdriver.Firefox()
driver.get(r"file:///C:/Users/Administrator/Desktop/test.html")
s1=driver.find_element_by_id('select')
s1.click()
Select(s1).select_by_index(4)
就最后一条命令,不管改成何种形式,死活也没有反应,各种方法(Select、find_xpath/id())都试过了click(),也没有任何报错。
我选择死亡~求帮忙啊,或者帮忙写下修改方案,难道我环境有毒么QAQ
不需要做s1.click()操作
直接:Select(driver.find_element_by_id("select")).select_by_id("1")
find/Select的各种方法我都试过了index/value/id,都不行;
很妖啊,怎么试都不行,我都在考虑是不是换个软件环境试试了
@洛雨寒殇: 你要确认id:select有没有重复的
哈哈 你在代码里下了毒
1使用Select首先要引入Select类
2定位父元素select,然后通过tag name找到所有option,得到option元素的数组,然后通过数组索引([1])定位,最后click.
driver.find_element_by_id("id =select").find_elements_by_tag_name("option")[1].click();