这是我的HTML树:
<div data-focusable="true" tabindex="0" class="css-1dbjc4n" data-testid="nav-Look up items-item"><div class="css-1dbjc4n"><div class="css-1dbjc4n" data-testid="nav-Look up items-item-Look up items-icon"><div class="css-1dbjc4n"><div dir="auto" class="css-901oao r-1awozwy" data-testid="nav-Look up items-item-Look up items">Look up items</div>
我试图通过data-tesd
定位元素
我使用了css选择器和xpath,如下所示:
@FindBy(css = "div[data-testid='nav-Look up items-item']")
@FindBy(xpath = "//div[@data-testid='nav-Look up items-item']")
但它无法定位该元素。
有人能帮忙吗?非常感谢。
你应该这样用
@FindBy(xpath = "//div[@data-testid='nav-Look up items-item']")
WebElement lookUpItems;
您可以(假设您想执行。单击
)
lookUpItems.click();
我只想在这里重写你的树,因为这样我更容易理解。
<div data-focusable="true" tabindex="0" class="css-1dbjc4n" data-testid="nav-Look up items-item">
<div class="css-1dbjc4n">
<div class="css-1dbjc4n" data-testid="nav-Look up items-item-Look up items-icon">
<div class="css-1dbjc4n">
<div dir="auto" class="css-901oao r-1awozwy" data-testid="nav-Look up items-item-Look up items">Look up items</div>
</div>
</div>
</div>
</div>
您总是可以尝试选择类名称与这样的东西:
WebElement element = driver.findElement(By.className("css-901oao"));
或
WebElement element = driver.findElement(By.className("r-1awozwy"));
如果这不起作用,您可以尝试使用诸如xPath Finder之类的Chrome扩展来尝试查找绝对xPath,并使用以下方法查找它:
WebElement element = driver.findElement(By.xpath("/html/body/div/div/div/div/div"));
但是,当您尝试选择一个div时,类名更有可能起作用
问题内容: 我正在将selenium与python配合使用,现在我想按其ID名称的一部分来定位元素,该怎么办? 例如,现在我已经找到了一个ID为 coption5的商品 : 无论如何,我只能使用 coption 来定位此元素吗? 问题答案: 要查找您所在的元素: 要仅通过使用 coption 来定位此元素,可以使用以下 定位策略之一: 使用和: 使用和: 使用和(开头为通配符): 使用和(包含通配
[[Img1][Img2[Img3]我试图通过链接文本获取元素。但是低于例外。异常在线程"main"org.openqa.selenium.NoSuchElement异常:没有这样的元素:无法定位元素:{"方法":"链接文本","选择器":"CFDSDSR"} 我尝试切换到帧,但它给出了未找到的帧,但该帧存在: XPath: /html/body/table/tbody/tr/td/form/ta
这是代码: 这是我已经在python上尝试过的: 返回: 你知道吗?谢谢
我正在将Grails2中的一系列单元测试升级到Grails3,并在使用Spock数据驱动测试格式驱动测试的域测试中遇到问题。 当我执行测试时,因为测试执行没有填充测试中的错误、字段和val引用。如前所述,这个测试适用于Grails2.5.5,所以我怀疑我缺少了Grails3中需要的一些东西。 Edited:我删除了原来在setup()中的mockForConstraints()调用,使其无效。
假设我们有一个要测试的代码: 现在假设我们在一个类中放置了两个单元测试。第一个“测试所有内容”,而第二个“什么都不做”: 这是一个IRL示例:我已经看到几十个测试通过用一些无用的代码替换测试内容来“修复”,因为被测试代码的契约随着时间的推移而变化。 现在,PIT“entry”单元是一个包含测试方法的类(而不是单个测试方法本身),因此在上述情况下,PIT不仅会显示100%的行覆盖率,还会显示100%