489 selenium的一些js操作

2021-09-08 08:00:23 字數 1270 閱讀 9275

1.滾動條回到頂部:

js="var q=document.getelementbyid('id').scrolltop=0"

driver.execute_script(js)

2.滾動條拉到底部

js="var q=document.documentelement.scrolltop=10000"

driver.execute_script(js)

3.這裡可以修改scrolltop 的值,來定位右側滾動條的位置,0是最上面,10000是最底部。

1.有時候瀏覽器頁面需要左右滾動(一般螢幕最大化後,左右滾動的情況已經很少見了)。

2.通過左邊控制橫向和縱向滾動條scrollto(x, y)

js = "window.scrollto(100,400);"

driver.execute_script(js)

3.第乙個引數x是橫向距離,第二個引數y是縱向距離

1.以上方法在firefox上是可以的,但是用chrome瀏覽器,發現不管用。

谷歌瀏覽器就是這麼任性,不聽話,於是用以下方法解決谷歌瀏覽器滾動條的問題。

2.chrome瀏覽器解決辦法:

js = "var q=document.body.scrolltop=0"

driver.execute_script(js)

1.雖然用上面的方法可以解決拖動滾動條的位置問題,但是有時候無法確定我需要操作的元素

在什麼位置,有可能每次開啟的頁面不一樣,元素所在的位置也不一樣,怎麼辦呢?

2.這個時候我們可以先讓頁面直接跳到元素出現的位置,然後就可以操作了。同樣需要借助js去實現。

3.元素聚焦:

target = driver.find_element_by_***x()

driver.execute_script("arguments[0].scrollintoview();", target)

driver.execute_script("""

(function () else

}settimeout(f, 1000);

})();

""")

for i in range(30):

if "scroll-done" in driver.title:

break

time.sleep(10)

參考:

selenium一些用法

基本使用方法 from selenium import webdriver 瀏覽器驅動器 from selenium.webdriver import actionchains 拖動,滑動驗證 from selenium.webdriver.common.by import by 按照什麼方式查詢,...

selenium遇到的一些問題,持續更新

1.今天早上執行程式的時候,發現我在迴圈點選乙個元素的時候出現了錯誤 selenium.common.exceptions.staleelementreferenceexception message stale element reference element is not attached t...

selenium的一些元素操作和基本用法

from selenium import webdriver driver webdriver.ie executable path e iedriverserver 開啟瀏覽器 driver.get 輸入 driver.back 向後退 driver.forward 向前進 driver.refr...