如何获取xpath

问题描述 投票:0回答:2
没有帐户?报名

我需要点击带有 xpath 的注册文本,但无法获取 Web 元素的 xpath,没有得到无法定位元素消息

尝试使用以下xpath:

//button[@class='upload_btn' and contains(text(), 'Sign up')]

还有

//button[normalize-space()='Sign up']
selenium-webdriver xpath page-factory
2个回答
0
投票

嘿我可以帮忙。如果您能够提供包含您想要获取的元素的页面 URL,我可以为您提供更详细的答案。像这样的东西应该可以工作。

buttons = driver.find_element(By.TAG_NAME, 'button')
for button in buttons:
    if button.text == "Sign up"
        button.click()

这是一个基本的 for 循环,它将使用 selenium 搜索页面上的所有按钮并存储它们。之后,查看每个按钮的文本元素来决定哪个按钮表示“注册”并单击它。

我建议在查看元素时使用标签和类,因为 xpath 更难使用。我希望这对您有所帮助,如果您需要其他任何信息,请告诉我快乐编码! :)


0
投票

您需要等待元素可见,然后才能单击该元素。与元素交互时使用一些显式条件。

但是你的第一个

xpath
是一个错字。类名中存在尾随空格,请使用下面的 xpath。应该与显式等待一起工作。

//button[@class='upload_btn ' and text()='Sign up']

//button[text()='Sign up'] 
© www.soinside.com 2019 - 2024. All rights reserved.