使用背景颜色按Xpath查找元素

时间:2017-11-09 04:26:20

标签: python selenium selenium-webdriver

我试图根据背景颜色抓取元素(日历中的某个日期)。 正如你在这个简短的例子中看到的那样,星期日没有背景颜色,但周一确实如此:

<td class="rcWeekend" title="Sunday, December 17, 2017"><a href="#">17</a></td><td title="Monday, December 18, 2017" style="background-color:#3C9770;">

我使用Chrome来获取Xpath并且我得到了这个:

//*[@id="ctl00_cphBody_rdcAvailableDates_Top"]/tbody/tr[4]/td[4]

我试图让我的路径更加健壮,而不是选择特定的行和列,我只希望能够获得具有background-color属性的第一个可用按钮。 所以我尝试了这个:

browser.find_element_by_xpath(//*[contains(@style, 'background-color:#3C9770;')])

和此:

browser.find_element_by_xpath(//*[@id="ctl00_cphBody_rdcAvailableDates_Top"]/tbody/*[contains(@style, 'background-color:#3C9770;')])

该xpath的其他一些变种...... 但我总是收到错误。有人可以建议我如何正确地写这条路径?谢谢!

错误的屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

在xpath值中使用引号

browser.find_element_by_xpath("//*[contains(@style, 'background-color:#3C9770;')]")