私はPython
とSelenium
を使ってテストケースを自動化しています。Python Selenium webdriverできませんTimeoutException:要素を待っているときのメッセージ
//*[@id="fybAddCartEvent"]
何の問題が考えられます。問題は、私はtest_press_add_to_cart
に到達したときWebdriver
がxpath
を持つ要素を見ていないということでしょうか?
例外は次のとおりです。
"TimeoutException:メッセージ"
要素のHTML
は次のとおりです。
<a href="#" class="button" data-product_id="18542" data-wp_nonce="7c3d595f98" id="fybAddCartEvent">
Add to cart</a>
、スクリプト:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.common.action_chains import ActionChains
from HTMLTestRunner import HTMLTestRunner
class Fotball_add_to_cart(unittest.TestCase):
@classmethod
def setUpClass(inst):
inst.driver = webdriver.Chrome('C:/chromedriver/chromedriver.exe')
driver = inst.driver
driver.get("http://ak:[email protected]/football/")
inst.driver.maximize_window()
time.sleep(5)
#click on "View All Fotball Products"
def test_click_on_view_all_fotball_products(self):
viewProductsXpath = "a.woocommerce-nested-category-layout-see-more"
self.viewProductsElement = self.driver.find_element_by_css_selector(viewProductsXpath)
self.viewProductsElement.click()
time.sleep(7)
#select a product
def test_select_a_product_and_view_details(self):
#select product
tshirtXpath = "//a[@href=\"http://uat.athleticknit.com/product/f810/F810-000/\"]"
self.tshirtElement = self.driver.find_element_by_xpath(tshirtXpath)
self.tshirtElement.click()
time.sleep(60)
def test_press_add_to_cart(self):
#press add to cart
driver = self.driver
addToCartXpath = '//*[@id="fybAddCartEvent"]'
self.addToCartElement =WebDriverWait(driver, 20).until(lambda driver: driver.find_element_by_xpath(addToCartXpath))
self.addToCartElement.click()
time.sleep(5)
@classmethod
def tearDownClass(inst):
inst.driver.stop_client()
inst.driver.close()
inst.driver.quit()
iframe内にあるかどうか確認しましたか? – JeffC
@ alisu245、あなたは同じ問題に直面していますか? – NarendraR