我想单击链接文本中包含部分字符串foo OR bar的链接。
类似于:
elem = driver.find_element_by_partial_link_text(['foo','bar']).click()
或者如果它使用 str.contains("foo|bar") 样式:
elem = driver.find_element_by_partial_link_text('foo|bar']).click()
正确的方法是什么?
编辑 HTML 示例:
<a class="noprint" href="/Docs/Doc?request=62391270&eCode=0XrIMF9p%2BMKSvdpdpqC5Nd3VFn4fB1eLXC3X0yHiYptOxprT0N%2BtjAu0%3D" target="_blank" type="submit">foo</a>
或者一个带栏的
<a class="noprint" href="/DocView/Doc?request=62391270&eCode=CWJ1stkSu3qFZ1coGTEsM8ka4xqU0XrIMF9p%2BfB1eLXC3wh4xPFQnYwOqX0yHiYptOxprT0N%2BtjAu0%3D" target="_blank" type="submit">bar</a>
EDIT2最终的工作代码是:
elem = driver.find_element_by_xpath("//a[contains(text(), 'foo') or contains(text(), 'bar')]").click()
最佳答案
如果您不想创建 N 条条件行来执行此操作,则可以使用 xpath 来使用 or 运算符 or
。
示例://a[contains(text(), 'aaaaa') 或 contains(text(), 'bbbbb')]
关于python - Selenium:在 find_element_by_partial_link_text() 中使用多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498277/