这是我的代码,它会在当前网页上找到复选框的数量
checkboxes=driver.find_elements(By.XPATH("html/body/div[2]/div/section[8]/div/div/div[3]/div/div[2]/table/tbody/tr[1]/td[1]/input[@type='checkbox']"))
但它会出现以下错误:
'str'对象不可调用
由于HTML DOM中包含字符串“checkbox”。
因此,我无法找到计算复选框总数的方法。
答案 0 :(得分:0)
您应该向find_elements
发送两个参数,例如checkboxes=driver.find_elements(By.XPATH, xpath)
,而代码中只有一个参数 - checkboxes=driver.find_elements(By.XPATH(xpath))
。所以你应该使用:
checkboxes=driver.find_elements(By.XPATH, "html/body/div[2]/div/section[8]/div/div/div[3]/div/div[2]/table/tbody/tr[1]/td[1]/input[@type='checkbox']")
<强>更新强>
关于OP评论:如果您只想在页面上看到复选框,请使用以下代码:
checkboxes_list = [check for check in driver_find_elements_by_xpath('//input[@type="checkbox"]') if check.is_displayed()]