【发布时间】:2021-01-13 11:43:45
【问题描述】:
我正在尝试从公共网站上抓取数据。 在搜索页面输入搜索值并按下查看按钮(正常提交)它会显示结果。
正常浏览器视图按钮单击并按预期显示报告。但是当我尝试通过 Webdriver 代码单击相同的按钮时,该按钮会单击但未显示结果。
任何人都可以面对这个问题吗?
我尝试使用 XPath(//*[@id="b-form-submit"]/div/button) 使用以下方法单击按钮
Click()
Submit()
Click using Javascript
Click using action class (keyboard event)
按钮 HTML 代码
<div class="b-button" id="b-form-submit">
<div class="b-button-container">
<span class="left">
<i></i>
</span>
<button alt="View" type="submit">View</button>
<span class="right">
<i></i>
</span>
</div>
</div>
当我尝试从 webdriver(调试模式)手动单击查看按钮时,它不是 wokring,而是与正常工作的 web 浏览器(所有浏览器)相同
【问题讨论】:
-
您的网页是否公开?可能是网站阻止了网络抓取。
-
@KunduK - 是的,它是一个公共网页。如何阻止网络抓取?我可以通过 URL 浏览网页,也可以输入搜索值
-
您能否Edit您的帖子并更新网址,以便其他贡献者可以帮助您。
-
@KunduK - 抱歉,出于安全原因,我无法分享网址。
-
尝试显式等待并检查它是否有效。
new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[text()='View']"))).click();
标签: javascript java selenium selenium-webdriver