我已经在Salesforce中搜索了一个帐户,它给出了一些搜索结果。但是我无法在Selenium中找到该元素。
我也尝试过使用绝对/相对xpath
和CSSSelector
,LinkText
。
已使用:driver.findElement(By.linkText("ILT_Order1")).click();
<a href="javascript:srcUp(%27%2F0010C000003HmzI%3FsrPos%3D0%26srKp%3D001%26isdtp%3Dvw%27);" data-seclke="Account" data-seclkh="b2e6250471c982c9bec58d55cc1e0f42" data-seclki="0010C000003HmzI" data-seclkp="/0010C000003HmzI" data-seclkr="1" onmousedown="searchResultClick.mousedown(this, event)">ILT_Order1</a>
我找不到该元素。
答案 0 :(得分:1)
得出WebDriverWait
和elementToBeClickable
并遵循xpath。
如果仍然找不到,请检查页面上是否有iframe
。
WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@data-seclke='Account'][text()='ILT_Order1']")));
element.click()
答案 1 :(得分:0)
由于该元素是启用了JavaScript的元素,因此在该元素上click()
上需要使用elementToBeClickable()
,并且可以使用以下Locator Strategies之一: >
linkText
:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("ILT_Order1"))).click();
cssSelector
:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[data-seclke='Account'][onmousedown^='searchResultClick'][href]"))).click();
xpath
:
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@data-seclke='Account' and text()='ILT_Order1'][starts-with(@onmousedown, 'searchResultClick')]"))).click();