我想点击"创建帐户"用于使用xpath的gmail。
<span id="link-signup">
<a href="https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&ltmpl=default">
Create account
</a>
</span>
我在python中的代码:
elem=driver.find_element_by_xpath("//*[@span='link-signup']").click()
我不确定错误是什么。我知道如何通过id点击链接,但我想学习如何通过xpath来实现这一目的。
答案 0 :(得分:1)
尝试使用:
'.//'
选择标记为span
的子节点,并使用方括号按属性选择它,即id
。
elem=driver.find_element_by_xpath('.//span[@id="link-signup"]').click()
答案 1 :(得分:0)
使用following-sibling
尝试:
driver.find_element_by_xpath("//span[@id='link-signup']/following-sibling::a").click()
答案 2 :(得分:0)
以下是一些用于检索“创建帐户”链接的示例XPath:
//Returns an a element with the exact text 'Create account'
//a[.='Create account']
//Returns an 'a' element that is the child of a span element with the id 'link-signup'
//span[@id='link-signup']/a
问题//*[@span='link-signup']
中给出的XPath不是有效的XPath,因为@span='link-signup'
谓词试图找到一个跨度属性等于的元素'link-signup',而您问题中提供的HTML有一个span
元素, id 属性等于'link-signup'
此外,您问题中给出的XPath不会尝试返回包含您要单击的链接的a
元素。