调查中的问题是:一周中的哪几天您始终有空?我想星期天检查。
我正在复制从在线视频中看到的代码,但是,我收到了此错误。有些人建议弹出窗口可能会阻止程序正常工作,但我没有看到弹出窗口。
我尝试过使用 chromedriver 和 geckodriver。两者都存在错误。
查看是否选择星期日的代码工作正常:
status=driver.find_element_by_id("RESULT_CheckBox-8_0").is_selected()
print(status)
输出:
False
这是我的代码:
from selenium import webdriver
driver=webdriver.Chrome(executable_path="my_webdriver_path"\\chromedriver.exe
driver.get("https://fs2.formsite.com/meherpavan/form2/index.html?1537702596407")
一周中的哪几天您始终有空?
我现在想勾选星期日框。这是我的代码:
status=driver.find_element_by_id("RESULT_CheckBox-8_0").click()
print(status)
我想选中星期日框,但我收到此错误:
selenium.common.exceptions.ElementClickInterceptedException: Message: Element <input id="RESULT_CheckBox-8_0" class="multiple_choice" name="RESULT_CheckBox-8" type="checkbox"> is not clickable at point (313,599) because another element <label> obscures it
我没有看到另一个使程序模糊不清的元素。有没有人有什么建议?我是编码新手,因此非常感谢任何帮助。
请您参考如下方法:
您遇到的问题与用于 label 和 input 标签中不同属性的相同值有关。
如您所见,即使您使用“find_element_by_id”,标签的“for”属性与“id”属性(并不一定必须是唯一值)具有相同的值。
要解决此问题,您可以使用不同的定位器,例如 XPATH。您可以通过右键单击元素(当您使用 f12 检查代码时)获得 xpath,然后选择 [copy] - [xpath]
下面是一些应该有效的代码(注意:我已将 chromedriver.exe 放在与它自身的 .py 文件相同的位置):
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://fs2.formsite.com/meherpavan/form2/index.html?1537702596407')
status = driver.find_element_by_id("RESULT_CheckBox-8_0").is_selected()
if status:
pass
else:
driver.find_element_by_xpath("//*[@id='q15']/table/tbody/tr/td[1]/label").click()
不要忘记最终关闭驱动程序,否则它将作为正在运行的进程留在后台。
您可以通过以下方式做到这一点:
driver.close()
希望这对您有所帮助!
