当页面源包含'type'作为字符串时,使用selenium python查找网页上的复选框数量

时间:2016-12-02 09:19:54

标签: python html python-3.x selenium selenium-webdriver

这是我的代码,它会在当前网页上找到复选框的数量

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”。

因此,我无法找到计算复选框总数的方法。

1 个答案:

答案 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()]