iT邦幫忙

0

Selenium IDE 下載後的檔案要怎麼在VSCode開啟使用?

  • 分享至 

  • xImage
# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class TestTest02():
  def setup_method(self, method):
    self.driver = webdriver.Chrome()
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_test02(self):
    # Test name: test02
    # Step # | name | target | value
    # 1 | open | https://tw.yahoo.com/ | 
    self.driver.get("https://tw.yahoo.com/")
    # 2 | setWindowSize | 974x1040 | 
    self.driver.set_window_size(974, 1040)
    # 3 | click | css=.W\(50\%\):nth-child(2) > .List\(n\):nth-child(1) > .Fz\(15px\):nth-child(2) .Wob\(ka\) | 
    self.driver.find_element(By.CSS_SELECTOR, ".W\\(50\\%\\):nth-child(2) > .List\\(n\\):nth-child(1) > .Fz\\(15px\\):nth-child(2) .Wob\\(ka\\)").click()
    # 4 | selectFrame | index=0 | 
    self.driver.switch_to.frame(0)
    # 5 | runScript | window.scrollTo(0,0) | 
    self.driver.execute_script("window.scrollTo(0,0)")
  
bp3324517 iT邦新手 5 級 ‧ 2022-07-01 17:12:26 檢舉
以上是我導出的code
我有加上 webdriver在電腦裡面的路徑,但是終端機沒反應
請問各位前輩,是要把哪邊的code做修改嗎?

謝謝
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
czsea35
iT邦新手 3 級 ‧ 2022-07-02 16:02:28

依照您的寫法,chromedriver.exe 有與此程式在同個資料夾下嗎?

如果要加入絕對路徑,可能要採取以下寫法:
以放在 D 槽舉例。

webdriver_path = 'D:\\chromedriver.exe'
driver = webdriver.Chrome(executable_path=webdriver_path)
看更多先前的回應...收起先前的回應...
bp3324517 iT邦新手 5 級 ‧ 2022-07-04 08:59:44 檢舉
# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class TestTest02():
  def setup_method(self, method):
   self.driver = webdriver.Chrome("D:/chromedriver.exe")
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_test02(self):
    # Test name: test02
    # Step # | name | target | value
    # 1 | open | https://tw.yahoo.com/ | 
    self.driver.get("https://tw.yahoo.com/")
    # 2 | setWindowSize | 974x1040 | 
    self.driver.set_window_size(974, 1040)
    # 3 | click | css=.W\(50\%\):nth-child(2) > .List\(n\):nth-child(1) > .Fz\(15px\):nth-child(2) .Wob\(ka\) | 
    self.driver.find_element(By.CSS_SELECTOR, ".W\\(50\\%\\):nth-child(2) > .List\\(n\\):nth-child(1) > .Fz\\(15px\\):nth-child(2) .Wob\\(ka\\)").click()
    # 4 | selectFrame | index=0 | 
    self.driver.switch_to.frame(0)
    # 5 | runScript | window.scrollTo(0,0) | 
    self.driver.execute_script("window.scrollTo(0,0)")
bp3324517 iT邦新手 5 級 ‧ 2022-07-04 09:08:20 檢舉

您好 我是寫這樣

self.driver = webdriver.Chrome("D:/chromedriver.exe")
    self.vars = {}

但是無法運作

要改成您教的方式

webdriver_path = 'D:\\chromedriver.exe'
self.driver = webdriver.Chrome(executable_path=webdriver_path)
self.vars = {}

也是無法運作

請問

import pytest

這行要去除嗎?VSCODE一直告訴我這行有誤,去除後就沒有警告了,但還是無法運作

請指點了,謝謝

czsea35 iT邦新手 3 級 ‧ 2022-07-10 16:19:38 檢舉

您可能要先了解測試框架與測試工具之差異。
另外,要執行的話需要先把類別實例化,之後呼叫函式。
然後執行前需要注意,webdriver 版本與 chrome 版本需要一致。

Ref:
https://stackoverflow.com/questions/63342522/selenium-ide-python-code-export-doesnt-work

bp3324517 iT邦新手 5 級 ‧ 2022-07-13 15:12:48 檢舉

謝謝您的回答
1.解測試框架與測試工具之差異
2.類別實例化,之後呼叫函式
您說的這兩件事,說實在我實在似懂非懂,我是平面設計師,喜歡程式
所以要了解的還很多,有沒有推薦可以讓我補知識的網站呢?

czsea35 iT邦新手 3 級 ‧ 2022-07-14 20:54:12 檢舉

您可以嘗試 google 測試框架與測試工具的說明,應該會有更清楚的解釋。

類別介紹參考:
https://ithelp.ithome.com.tw/articles/10225560

我要發表回答

立即登入回答