【发布时间】:2017-09-07 12:58:57
【问题描述】:
我目前正在尝试在我的工作地点自动化我们的一些手动测试。我昨天才拿起 Selenium,如果这个问题很容易回答,请耐心等待。我觉得我研究了几个小时都没有成功。
我当前的问题是 WebDriver 导航到 URL,但似乎没有单击按钮。通常它会说“扩展更新成功”。我想也许它正在快速离开,所以我添加了一个隐式等待,但仍然面临同样的问题。
随机信息:使用 Java、Windows 10、Selenium 3。
因反馈而更新:
这是网站的链接。 MyExtension
我试图在继续之前点击此ExtensionButton,因为我需要根据我正在登录的站点更新扩展。
这是我目前拥有的代码,我尝试使用 XPath、cssSelectors、byId、byClass。每种方法都工作了 1-2 次。
driver.get("https://account.walkme.com/ExtensionDownload/downloadPage.html?guid=f0dfc80b60f744d08ae38b7b41d8b852&customer=sarah_i&profile=default");
wait.until(ExpectedConditions.visibilityOfElementLocated((By.xpath("//a[@id='extension-link']//span[@class='button-text']"))));
driver.findElement(By.id("extension-link")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
这是 HTML 的 sn-p:
<img id="image" class="customer-icon">
<div id="div-company">
<label id="lbl-company">Company:</label>
<span id="company">SFQA</span>
</div>
<div id="div-profile">
<label id="lbl-profile">Profile:</label>
<span id="profile">milton</span>
</div>
<div id="div-description" class="description-wrapper">
<label id="lbl-description">Description:</label>
<span id="description"></span>
</div>
<div id="customer" class="customer"></div>
<a id="extension-link" class="orange-button update" style="cursor: pointer; display: inline-block;">
<div class="button-icon"></div>
<span class="button-text">Update Extension</span>
</a>
<a id="extension-link-upgrade" class="orange-button">
<div class="button-icon"></div>
<span class="button-text"></span>
</a>
<ul id="instructions" class="instructions">
<li id="step-1">
<div class="step-num">Step 1 - </div>
<div class="step-image">
</div>
</li>
<li id="step-2">
<div class="step-num">Step 2 - </div>
<div class="step-image"></div>
</li>
<li id="step-3">
<div class="step-num">Step 3 - </div>
<div class="step-image"></div>
</li>
<li id="step-4">
<div class="step-num">Step 4 - </div>
<div class="step-image"></div>
</li>
<li id="step-5">
<div class="step-num">Step 5 - </div>
<div class="step-image"></div>
</li>
<li id="step-6">
<div class="step-num">Step 6 - </div>
<div class="step-image"></div>
</li>
<li id="step-7">
<div class="step-num">Step 7 - </div>
<div class="step-image"></div>
</li>
<li id="step-8">
<div class="step-num">Step 8 - </div>
<div class="step-image"></div>
</li>
<li id="step-9">
<div class="step-num">Step 9 - </div>
<div class="step-image"></div>
</li>
<li id="step-10">
<div class="step-num">Step 10 - </div>
<div class="step-image"></div>
</li>
<li id="step-11">
<div class="step-num">Step 11 - </div>
<div class="step-image"></div>
</li>
<li id="step-12">
<div class="step-num">Step 12 - </div>
<div class="step-image"></div>
</li>
</ul>
我正在尝试点击第 16-18 行。
<a id="extension-link" class="orange-button update" style="cursor: pointer; display: inline-block;">
<div class="button-icon"></div>
<span class="button-text">Update Extension</span>
</a>
如果对这篇文章有任何反馈,请告诉我。我想知道为什么我会收到反对票。
【问题讨论】:
-
您是否尝试点击 span 标签?使用 CSS 选择器“a.orange-button span .button-text”
-
它曾经工作过,但无法让它再次工作。这很奇怪,因为我隐式等待了 20 秒,才能看到“扩展更新”消息,它会跳过它。
标签: java selenium xpath selenium-webdriver selenium-firefoxdriver