我试图单击下面的按钮,但找不到错误。
<div class="sportsbook-outcome-cell__body selected" aria-label="Thomas Almeida " data-tracking="{"section":"GamesComponent","action":"click","target":"AddBet","sportName":34,"leagueName":2162,"subcategoryId":3,"eventId":179567875}">
<div class="sportsbook-outcome-body-wrapper">
<div class="sportsbook-outcome-cell__label-line-container"><span class="sportsbook-outcome-cell__label">Thomas Almeida</span></div>
<div class="sportsbook-outcome-cell__elements">
<div class="sportsbook-outcome-cell__element"></div>
<div class="sportsbook-outcome-cell__element"><span class="sportsbook-odds american default-color">-125</span></div>
</div>
</div>
</div>
我尝试过使用css select首选,因为我还必须点击其他名称
browser.find_element_by_css_selector("div[aria-label='Thomas Almeida']").click()
我也尝试过使用完整的xpath,它只会突出显示实际上并未单击它的按钮
browser.find_element_by_xpath('/html/body/div[2]/div[2]/section/section[2]/section/div[3]/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div[2]/div/div[1]/div/div').click()
非常感谢您的帮助。
谢谢
答案 0 :(得分:1)
结尾的引号和“ Almeida”之间有一个空格:
browser.find_element_by_css_selector("div[aria-label='Thomas Almeida ']").click()
答案 1 :(得分:0)
我偏爱使用xpath
。这就是我目前的工作方式,当您想与Web元素进行交互时,我觉得它是一个很好的工具。
解决方案:使用Thomas的名字和游戏组件“ AddBet”,通过xpath
查找元素
browser.find_element(By.XPATH, "//div[contains(@aria-label, 'Thomas Almeida') and contains(@data-tracking, 'AddBet')]").click()