我遇到了一个问题
我在谷歌上搜索了这个https://www.google.com/search?q=sen做
上面的链接也是如此,使用了下面的代码,但它只返回https://www.sendo.vn/(缺少参数)
这是密码
driver.get("${the_above_google_search_url}")
// Find first result element
Web firstResultElement = driver.findElement(By.className("iUh30"))
firstResultElement.click()
String currentUrl = driver.getCurrentUrl()
任何解决方案,以获得完整的网址路径与硒像手动点击?
我进入到你的网页,检查页面,我看到有两个重定向(状态302)点击后,在谷歌搜索的第一个结果:
第二个重定向在头位置中有您要查找的url,因为它是一个重定向(302):
如果您等待,浏览器将执行第二个重定向并加载url:
等待第二次重定向,然后使用经典方法获取url。
web是在react上开发的,这就是使用javascript呈现的原因。这使selenium自动化有点复杂。
您需要搜索一个元素,该元素的存在表明您在第二次重定向后已准备就绪。我发现了这个:
document.querySelector('[aria-label="sendo logo"]');
将此查询选择器转换为selenium:
By.cssSelector("a[aria-label='sendo logo']");
然后等待它:
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[aria-label='sendo logo']")));
如果在这个元素之后,您继续获得相同的url,而不是完整的url,只需尝试使用另一个html元素。
尝试使用selenium获取页面的标题
我已经用selenium编写了一个自动化测试用例来测试登录页面,应该点击忘记密码链接。浏览器打开并转到给定的url,但忘记密码链接不会自动点击,有人能告诉我的代码有什么问题吗。 基本代码 Browsers.java 数据属性 控制台: 超文本标记语言代码
问题内容: 打开baseUrl后,我手动单击同意,然后搜索要显示的医生列表。我想翻阅清单。现在,Selenium仅通过找到“ ”来第一次单击。之后它停止并给出以下错误。 问题答案: 错误说明了一切: 在循环内的程序中,您将在页面上找到文本标记为 > >*的tag元素并进行调用,并且由于 HTML DOM 发生更改而导致该事件。当您的程序第二次迭代循环时,也许未加载标识为的 WebElement ,
问题内容: 打开baseUrl后,我手动单击同意,然后搜索要显示的医生列表。我想翻阅清单。现在,Selenium仅通过找到“ ”第一次单击。之后它停止并给出以下错误。 问题答案: 错误说明了一切: 在循环内的程序中,您将在页面上找到文本标记为 > >*的tag元素并进行调用,并且由于 HTML DOM 发生更改而导致的事件。当您的程序第二次迭代循环时,也许未加载标识为的 WebElement ,但
我无法单击子菜单。。尝试使用不同的xpath/id。。。。。 下面是html标签,主菜单是演示文稿(用红色箭头标记),子菜单在div下。 您能告诉我如何为此编写xpath吗。我想单击子菜单中的“假设”。 这里主菜单标签位于div(子菜单)的底部。 另附硒代码。请帮帮我。。。。
我需要在商品搜索中键入“香蕉”,然后点击“GO”按钮。 在堆栈溢出的帮助下,我可以调出火狐,输入“香蕉”...但是“Go”按钮(基于检查的Go3)不会开火!! 我试过element.click(),试过ActionChains,试过将光标移动到元素,试过验证它已经启用。它只是不会转到下一个搜索页面。 我没有得到任何错误...它只是没有进入下一页。 谢谢你能提供的任何帮助。快把我逼疯了!
问题内容: 我有一个简单的代码,单击链接即可打开一个新窗口。但是在执行脚本时,单击相当于双击同一元素,并打开2个窗口。 我正在使用InternetExplorer驱动程序 问题答案: 当你一起工作 , 用 ,您可以考虑通过传递以下配置属性 类别: :由于InternetExplorerDriver仅适用于Windows,因此它尝试使用所谓的“本机”或OS级事件在浏览器中执行鼠标和键盘操作。这与对相