更改选择框硒的值

时间:2019-02-28 17:54:12

标签: python selenium

从等于10的HTML中自动选择选项1。

这是HTML:

<form>
<table>
    <tr>
        <th>Name:</th>
        <td><input id="search_term" /></td>
    </tr>
    <tr>
        <th>Page size:</th>
        <td>
            <select id="page_size">
                <option>4</option>
                <option selected>10</option>
                <option>20</option>
            </select>
        </td>
    </tr>
    <tr>
        <td></td>
        <td>
            <input type="submit" id="search" value="Search" />
        </td>
    </tr>
</table>
</form>

我尝试跑步:

js = "document.getElementById('page_size').options[1].text ='1000';"
# js = "document.getElementById('page_size').options[1].text ='1000'"
driver.execute(js)

我执行KeyError后得到js。所以我尝试用Python的方式来做,但是什么也没发生:

x = driver.find_element_by_xpath('//*[@id="page_size"]/option[2]')
x.clear()
x.send_keys(1000)

这是我正在link上测试的链接

1description from book on how to do it'http://example.webscraping.com/places/default/search'

1 个答案:

答案 0 :(得分:0)

当您想更改选项元素文本时,我刚刚使用jsfiddle测试了这段javascript,它可以正常工作,请尝试使用“ innerText”代替“ text”:

document.getElementById('page_size').options[1].innerText = "1000";

链接到jsfiddle:https://jsfiddle.net/z1omaue3/