我写得像这样
repos=driver.find_elements_by_xpath('//a[@class="execute repo-list--repo-name"]')
choice=input()
ch=repos[choice-1].text
print ch #prints choice1
driver.find_element_by_xpath('//a[contains(text(),"%s"]' % ch).click()
表示HTML代码
<a class="execute repo-list--repo-name" href="/vivek-puri/choice1">choice1</a>
但它显示错误
The given selector //a[contains(text(),"choice1"] is either invalid or does not result in a WebElement.
为什么它会显示这样的错误,尽管带有文本choice1的元素退出。
答案 0 :(得分:1)
这是因为括号。你忘了第二个括号: 使用
//a[contains(text(),"choice1")]
而不是
//a[contains(text(),"choice1"]
答案 1 :(得分:1)
您在选择器中的choice1
后缺少括号。它应该是
//a[contains(text(),"choice1")]
您还可以使用by_link_text
或by_partial_link_text
find_element_by_link_text('choice1')
find_element_by_partial_link_text('choice1')