gpt4 book ai didi

c# - Selenium : xpath following-sibling where siblings have more children

转载 作者:行者123 更新时间:2023-12-01 17:43:25 26 4
gpt4 key购买 nike

我希望以易于理解的方式描述我的问题。

我的 html 看起来像这样:

<div class="class-div">
<label class="class-label">
<span class="class-span">AAAA</span>
</label>
<div class="class-div-a">
<textarea class="class-textarea">
</textarea>
</div>
</div>
<div class="class-div">
<label class="class-label">
<span class="class-span">BBBB</span>
</label>
<div class="class-div-a">
<textarea class="class-textarea">
</textarea>
</div>
</div>

我想要 TextArea 的 Xpath(其中标签的值为 AAAA)用 Selenium 中的值填充它。

所以像这样......

wait.Until(ExpectedConditions.ElementIsVisible(
By.XPath("//div[@class='class-div']/label[@class='class-label'][span[@class='class-span' and text()='AAAA']]/following-sibling::div[@class='class-div-a']/textarea[@class='class-textarea']"))).SendKeys(valueTextArea);

最佳答案

问题可能出在这个服务员的情况下,ExpectedConditions.ElementIsVisible

问题是你的<textarea>在 selenium 上下文中不是“可见”,可见性意味着该元素存在于 DOM 中(这是正确的)并且它的大小大于 0px,这对于您的 <textarea> 可能是错误的元素。在java中你会使用ExpectedConditions.presenceOfElement()而不是ExpectedConditions.visibilityOfElement() ,不确定 C# 中的情况如何,但您明白了。

尝试看看是否能解决您的问题。

关于c# - Selenium : xpath following-sibling where siblings have more children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41748595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com