如何找到这个 element with Selenium?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何找到这个 element with Selenium?相关的知识,希望对你有一定的参考价值。

http://yearup.org上有一个“立即申请”按钮。

<a href="https://www.yearup.org/seize-opportunity/" class="button">Apply Now</a>

到目前为止我试过:

//*[@class='button']") (but there are 11 occurrences. Using [0] doesn't help
//*[@class='button']//*[text()='Apply Now']
"html/body/div/section[2]/header/section/ul/li/ul/div[2]/a"
.findElement(By.linkText("Apply Now"));

他们都没有为我工作。

获得以下错误:

org.openqa.selenium.ElementNotInteractableException: Cannot click on element
答案

是什么让它有点困难,是同一页面中相同标签的重复。有两种解决方案:

//div[@class='large-9 columns large-centered center-absolute']/a[@class='button' and contains(text(),'Apply Now')]

要么

(//a[contains(text(),'Apply Now')])[2]
另一答案

这将有效:

driver.findElement(By.xpath(".//*[@href='http://www.yearup.org/seize-opportunity/']")).click();

如果您只是尝试找到它而不是单击该元素,请使用以下命令:

driver.findElement(By.xpath(".//*[@href='http://www.yearup.org/seize-opportunity/']"));

而且,如果您正试图前往该页面并且您不需要实际点击要在那里旅行的元素,那么只需执行以下操作:

driver.get("http://www.yearup.org/seize-opportunity/");
另一答案

我知道在HTML中它显示为“立即应用”但是如果你使用的话

driver.findElement(By.linkText("APPLY NOW")).click();

有用。我刚试过它。

以上是关于如何找到这个 element with Selenium?的主要内容,如果未能解决你的问题,请参考以下文章

如何添加 element with a href attribut in multipleelement? [duplicate]

PostgreSQL JOIN with array type with array elements order,如何实现?

Open quote is expected for attribute "property" associated with an element type "resu

vue-table-with-tree-grid的树形表格组件如何使用

<div element with results> 立即消失

解决cvc-complex-type.2.4.a: Invalid content was found starting with element