如何在没有任何ID的表格中选中此复选框

时间:2019-01-09 09:57:50

标签: python selenium selenium-webdriver xpath css-selectors

我正在用Python编写Selenium代码,以自动化我网站上的某些任务。但是,我无法选中此复选框。有什么建议吗? 这是我要检查的复选框的代码行:

<input type="checkbox" class="" name="delete0">

我尝试了2种不同的方法,但两种方法都不起作用。

1. driver.find_element_by_class_name("delete0").click()
2. driver.find_element_by_xpath("//input[@type='checkbox'").click()

我应该选中该复选框,但是什么也没发生,而是出现错误消息:

  

selenium.common.exceptions.InvalidSelectorException:消息:无效选择器:由于以下错误,无法使用xpath表达式// input [@ type ='checkbox'定位元素:   SyntaxError:无法在'Document'上执行'evaluate':字符串'// input [@ type ='checkbox''不是有效的XPath表达式。

1 个答案:

答案 0 :(得分:0)

根据您提供的HTML,

  • 第一次代码试用失败:

    driver.find_element_by_class_name("delete0").click()
    
    • 原因:属性class_name不是 delete0 ,而是空白空间
  • 第二次代码试用失败:

    driver.find_element_by_xpath("//input[@type='checkbox'").click()
    
    • 原因:由于您错过了]
    • ,定位器出现了语法错误

解决方案

您可以使用以下任一解决方案:

  • css_selector

    driver.find_element_by_css_selector("input[type='checkbox'][name='delete0']").click()
    
  • xpath

    driver.find_element_by_xpath("//input[@type='checkbox' and @name='delete0']").click()