日历日期无效的XPath表达式

时间:2019-07-13 04:40:35

标签: python selenium xpath

我正在尝试使用硒从x路径表达式中选择日历日。我相当有信心X路径是正确的,但是很明显,有些事情是不对的。

enter image description here

    cal_day = ['1'] 
    for day in cal_day:
        expression = f"//div[@class='datepicker-days']/table/tbody/tr/td/[contains(@class, 'day') and text() = '{day}']"
        reverse_day_select = browser.find_elements_by_xpath(expression)[0]
        reverse_day_select.click()

执行脚本后,我在命令提示符下收到以下错误:

selenium.common.exceptions.InvalidSelectorException:消息:无效选择器:无法使用xpath表达式// div [@ class ='datepicker-days'] / table / tbody / tr / td / [contains( @class,'day')和text()='1'],因为存在以下错误: 语法错误:无法在“文档”上执行“评估”:字符串“ // div [@ class ='datepicker-days'] / table / tbody / tr / td / [包含(@class,'day')和文本()='1']'不是有效的XPath表达式。   (会话信息:chrome = 75.0.3770.100)

1 个答案:

答案 0 :(得分:0)

需要很少的校正。

expression = f"//div[@class='datepicker-days']/table/tbody/tr/td[contains(@class, 'day') and text() = '{day}']"