【发布时间】:2021-12-15 04:57:03
【问题描述】:
您好,我正在尝试选择并单击“立即预订”按钮,但是当我查看源代码时,它显示以下内容...
<div class="pl-0 mr-3 sticky-btn-wrapper">
<div class="ko-container book-now-btn-container">
<button class="btn btn-secondary text-uppercase btn-landing go-to-session" data-eid="757231" data-aid="97739" data-isavailable="true"> Book now</button>
</div>
</div>
<div class="btn-book-top sticky-btn-wrapper justify-content-end" id="book-button-top">
<div id="sticky-bottom-btn" class="sticky-bottom-btn flex-row w-100">
<div class="ko-container book-now-btn-container">
<button class="btn btn-secondary text-uppercase btn-landing go-to-session" data-eid="757231" data-aid="97739" data-isavailable="true">Book now</button></div>
</div>
</div>
</div>
当我在 Firefox 中检查“立即预订”链接时,会显示以下内容
<div class="ko-container book-now-btn-container">
<button class="btn btn-secondary text-uppercase btn-landing go-to-session" data-eid="757231" data-aid="97739" data-isavailable="true">
Book now
</button>
</div>
[为什么会有两个按钮 class="btn btn-secondary text-uppercase btn-landing go-to-session" ??]
我尝试用
选择第一个实例WebElement wb = myDriver.findElement(By.xpath ("//div[@class='pl-0 mr-3 sticky-btn-wrapper'] and button[@class='btn btn-secondary text-uppercase btn-landing go-to-session']"));
wb.click();
但我在 Junit 中得到以下异常...
org.openqa.selenium.InvalidSelectorException:
Given xpath expression "//div[@class='pl-0 mr-3 sticky-btn-wrapper'] and button[@class='btn btn-secondary text-uppercase btn-landing go-to-session']"
is invalid: TypeError: Document.evaluate: Result type mismatch
任何帮助将不胜感激!
【问题讨论】:
标签: java selenium selenium-chromedriver junit5