我是硒菜鸟,我需要帮助才能点击按钮标签之间的按钮。我尝试使用 find_element_by_tag_name,但它不起作用,因为之前散布着其他按钮标签,如果我尝试 by_class_name 或 by_xpath,它会告诉我没有任何东西可以匹配并返回“异常”。请问有人可以帮我吗? 这是代码:
<div class="footer--1L-3T">
<div class="buttonContainer--33jjD" data-role="button-container">
<div class="buttonContainerItem--286mU restrictedMinWidth--1yzrO" data-role="button-container-item">
<button class="button--3h5xe buttonSizeDefault--3mQ1i buttonStateDefault--3rSF6
buttonLabelPositionInside--2JRkN buttonIconPositionLeft--2FL2w buttonThemePopup--38gEr
buttonModeDesktop--i3Cpv buttonFitWidth--2WSgF" data-role="button" tabindex="-1">
<span data-role="button-bordered" class="bordered--3kSwE roundingBoth--177dl">
<span data-role="button-label" class="label--2kPAA labelCapitalized--3pF45">Exit</span>
</span>
</button>
</div>
<div class="buttonContainerItem--286mU restrictedMinWidth--1yzrO" data-role="button-container-item">
<button class="button--3h5xe buttonSizeDefault--3mQ1i buttonStateDefault--3rSF6
buttonLabelPositionInside--2JRkN buttonIconPositionLeft--2FL2w buttonThemePopup--38gEr
buttonModeDesktop--i3Cpv buttonFitWidth--2WSgF" data-role="button" tabindex="-1">
<span data-role="button-bordered" class="bordered--3kSwE roundingBoth--177dl">
<span data-role="button-label" class="label--2kPAA labelCapitalized--3pF45">OK</span>
</span>
</button>
</div>
</div>
我必须点击“确定”按钮,这是第二个。
答案 0 :(得分:0)
这种情况下的 XPath 是 /html/body/div/div/div[2]/button
。数字 (div[2]
) 指向第二个 div(其中是按钮)。
from selenium import webdriver
driver = webdriver.Chrome("chromedriver")
driver.get("file:///Users/BelKed/Desktop/test.html")
ok = driver.find_element_by_xpath("/html/body/div/div/div[2]/button")
ok.click()
无论如何,当您在 Web Inspector 中时,您可以从浏览器获取 X-Path。为此,右键单击您想要的元素并选择“复制 –> XPath”或类似的内容。