我正在使用Pythonselenium来自动化我的出勤记录。一切正常,现在我想尝试通过修改源代码来尝试。我见过几篇文章,指出可以使用它对其进行修改driver.execute_script()并且适用于JavaScript,但就我而言,我需要在select标记下修改源代码。我可以使用修改源代码inspect element。以下是select标签的源代码:
driver.execute_script()
select
inspect element
<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修改源代码?
尝试以下解决方案,让我知道是否发生任何问题:
driver.execute_script("""document.querySelector("select[name='date1'] option").value="2016-09-07";""")
PS我建议您不要XPath在选择器中使用绝对值,而应使用相对值
XPath