[英]Find number of check-boxes on webpage, when page source contains 'type' as a string also, using selenium python
This is my code which finds number of check-boxes on the current webpage 这是我的代码,可找到当前网页上的复选框数量
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']"))
but it gives following error: 但它给出以下错误:
'str' object is not callable
'str'对象不可调用
As HTML DOM contains string "checkbox" in it.
由于HTML DOM中包含字符串“复选框”。
Thus I am unable to find a way to calculate total number of check-boxes. 因此,我无法找到一种计算复选框总数的方法。
You should send two arguments to find_elements
, like checkboxes=driver.find_elements(By.XPATH, xpath)
while there is only one argument in your code- checkboxes=driver.find_elements(By.XPATH(xpath))
. 您应该向
find_elements
发送两个参数,例如checkboxes=driver.find_elements(By.XPATH, xpath)
而在代码中只有一个参数checkboxes=driver.find_elements(By.XPATH(xpath))
。 So you should use: 因此,您应该使用:
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']")
UPDATE UPDATE
Regarding OP comment: If you want to get only checkboxes visible on page, use following code: 关于OP注释:如果只想使页面上的复选框可见,请使用以下代码:
checkboxes_list = [check for check in driver_find_elements_by_xpath('//input[@type="checkbox"]') if check.is_displayed()]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.