找不到使用Selenium的元素

时间:2018-04-26 04:56:20

标签: c# selenium

我想点击一个元素:

<td valign="top" class="bI">
    <div role="button" class="d-k-l b-c b-c-R xD" tabindex="0" 
     style="user-select: none;">Cancel</div>
</td>

我尝试使用FindElementByXPath和FindElementByClassName,但它不起作用

element = driver.FindElementByXPath("//td[@class='bI']//div");
element = driver.FindElementByXPath("//div[contains(@class, 'd-k-l b-c b-c-R xD')]");

我如何获得这个元素。谢谢!

更新 我的元素在iframe下,现在它的工作。谢谢大家!

3 个答案:

答案 0 :(得分:0)

使用此Xpath:

//div[text()='Cancel']  

如果元素不可见,那么您应该等待一段时间,直到它使用显式等待的可见性。

答案 1 :(得分:0)

试试这个Xpath:

driver.FindElementByXPath("//td[@class='bI']//div[@class='d-k-l b-c b-c-R xD']").Click();

OR

driver.FindElementByXPath("//td[@class='bI']//div[contains(text(),'Cancel']").Click();

答案 2 :(得分:0)

使用此Xpath

driver.FindElement(By.XPath("//div[@class='d-k-l b-c b-c-R xD']")).Click();

OR

driver.FindElement(By.XPath("//div[@text ='Cancel']")).Click();

OR

driver.FindElement(By.XPath("//div[@class='d-k-l b-c b-c-R xD'][@text='Cancel']")).Click();