我正在嘗試單擊“登錄”,但我的 Selenium 代碼不起作用。下面是 HTML 代碼。<span class="css-14krylx-text-text-fullPageText-FormFooter">Already have a Times account?
<span tabindex="0" data-testid="switch-to-login" class="css-dip6gw-link-link-FormFooter">Log in</span></span>到目前為止我嘗試了什么但沒有奏效?driver.findElement(By.cssSelector("[data-testid='switch-to-login'")).click();driver.findElement(By.xpath("//span[@data-testid='switch-to-login'")).click();driver.findElement(By.cssSelector("/.css-dip6gw-link-link-FormFooter'")).click();還有其他方法嗎?
1 回答

慕絲7291255
TA貢獻1859條經(jīng)驗 獲得超6個贊
所需元素是動態(tài)元素,因此要定位元素,您必須誘導(dǎo)WebDriverWait元素可點擊,您可以使用以下任一定位器策略:
cssSelector
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span[class$='text-text-fullPageText-FormFooter'] span[class$='link-link-FormFooter'][data-testid='switch-to-login']"))).click();
xpath
:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[contains(@class, 'text-text-fullPageText-FormFooter')]//span[contains(@class, 'link-link-FormFooter') and text()='Log in']"))).click();
添加回答
舉報
0/150
提交
取消