一尘不染

Python Selenium-修改网页的源代码

selenium

我正在使用Pythonselenium来自动化我的出勤记录。一切正常,现在我想尝试通过修改源代码来尝试。我见过几篇文章,指出可以使用它对其进行修改driver.execute_script()并且适用于JavaScript,但就我而言,我需要在select标记下修改源代码。我可以使用修改源代码inspect element。以下是select标签的源代码:

<select name="date1">
    <option value="2016-09-17">2016-09-17</option>
    <option value="2016-09-16">2016-09-16</option>
    <option value="2016-09-14">2016-09-14</option>
</select>

我试图做到这一点driver.execute_script()。以下是我的代码:

sel = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/form/table/tbody/tr[2]/td[3]/select')
input_list = sel.find_element_by_tag_name('option')
cmd = "input_list.value = '2016-09-07'"
driver.execute_script(cmd)

但是上面的代码给了我以下错误:

selenium.common.exceptions.WebDriverException:消息:未定义input_list

我可以使用该inspect element窗口修改源代码。有什么方法可以使用selenium修改源代码?


阅读 1760

收藏
2020-06-26

共1个答案

一尘不染

尝试以下解决方案,让我知道是否发生任何问题:

driver.execute_script("""document.querySelector("select[name='date1'] option").value="2016-09-07";""")

PS我建议您不要XPath在选择器中使用绝对值,而应使用相对值

2020-06-26