from selenium import webdriver import os from selenium.webdriver import chrome driver = webdriver.Chrome() driver.get("http://nmcunited.me.showenter.com/%D7%9C%D7%94-%D7%9C%D7%94-%D7%9C%D7%A0%D7%93.html") driver.implicitly_wait(15) christmasTag = driver.find_element_by_id('f_2561406_1') christsmasTag.click() driver.close()
我使用上面的python代码来练习一些基本的Selenium操作。我找不到任何元素,无论是名称还是ID。不管我尝试什么,我总是会遇到相同的错误,这表明我要查找的元素不存在。(想法是按一下其中一个按钮…)
这是网站html代码的一部分:
<!-- main page --> <td valign="top"> <table width="100%" cellspacing="0" cellpadding="0" border="0"> <!-- Page Content --> <!-- Page Content --> <tr> <td valign="top"> <table border="0" width="100%" cellpadding="3" cellspacing="0"> <tr> <!-- the form --> <td valign="top"> <form id="form2" name="form2" method="post" action="/site/form/sendForm.asp" OnSubmit="return CheckSubmit();" enctype="multipart/form-data"> <!-- Form Field List --> <table id='sop_form_594602' class='sop_all_form' align="center" border="0" width="100%" cellpadding="3" cellspacing="0" > <tr> <td style="color:;" class="changeText14"> <span style="font-weight:bold;">באיזה חג מפוטר ראין גוסלינג?</span><br> <input type="radio" name="f_2561406" id="f_2561406_0" value="1. חג הפסחא" class="rachbox" checked> <label for="f_2561406_0">1. חג הפסחא</label> <br> <input type="radio" name="f_2561406" id="f_2561406_1" value="2. חג המולד" class="rachbox"> <label for="f_2561406_1">2. חג המולד</label> <br> <input type="radio" name="f_2561406" id="f_2561406_2" value="3. סליבסטר" class="rachbox"> <label for="f_2561406_2">3. סליבסטר</label> <br> <input type="radio" name="f_2561406" id="f_2561406_3" value="4. חג ראש השנה" class="rachbox"> <label for="f_2561406_3">4. חג ראש השנה</label> <br> </td> </tr>
这是所说的网站(链接断开)
任何帮助将不胜感激。
顺便说一句,这是我尝试运行的第一个使用Selenium的程序,是否有可能需要更改某些设置或需要安装其他设置?
您要查找的项目位于iframe中。您需要先将Webdriver的上下文切换到框架。
from selenium import webdriver import os from selenium.webdriver import chrome driver = webdriver.Chrome() driver.get("http://nmcunited.me.showenter.com/%D7%9C%D7%94-%D7%9C%D7%94-%D7%9C%D7%A0%D7%93.html") driver.implicitly_wait(15) frame = driver.find_element_by_css_selector('div.tool_forms iframe') driver.switch_to.frame(frame) christmasTag = driver.find_element_by_id('f_2561406_1') christmasTag.click() driver.close()