我使用chromedriver + selenium试图在所有网页上使用相同的网址结构遍历网站,如下所示:
namenode
问题是当循环第二次触发并且url变为" #page = 2"时,我可以看到webdriver中的网页和url已更改,但脚本只是挂起。没有超时或错误消息,脚本只是冻结。
我还试过在" webDriverWait"之前放置一份印刷声明。看看程序挂起的位置,但也没有触发。我认为由于某种原因,第二个获取网址请求是罪魁祸首。
为什么会这样,或者这里的其他问题是什么?
答案 0 :(得分:0)
如果您可以直接从href
元素的link
属性获取网址,那么当您直接进入地址栏时,网址就会生效。但它并不总是有效,请参阅下面click
事件的解释
但是如果您在点击某个元素后从地址栏中获取了网址,则无法通过在地址栏中输入网址来打开目标网页。
因为当您单击该元素时,可能会触发click
事件,该事件在后台执行javascript代码以从后端或其他任何内容获取数据。
对于那些背景资料,您无法通过在地址栏中输入网址来触发它们。所以安全的方法是点击元素。
我知道Angularjs App在大多数时候都是这样的。