我正在尝试遍历Raymour和Flanigan家具网站主页上的元素。我将所有项目都放入一个大块,并希望使用动作链方法单击它并验证每个项目是否成功打开。由于在网站上没有单击选项,因此我正在使用操作链。但是我的代码出了点问题。我认为这是最后一行
from selenium import webdriver
from behave import given, when, then
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
TOP_LINKS = (By.CSS_SELECTOR, "div.Hdr_MN")
@given('Main Page MyRF')
def open_website(context):
context.driver.get('https://www.raymourflanigan.com/')
@then('User can go through top links and verify page has opened')
def click_thru_top(context):
expected_items = ['Living Rooms', 'Dining Rooms', 'Bedrooms', 'Mattresses', 'Kids', 'Office', 'Decor', 'Rugs', 'Outlet', 'Sale']
top_links = context.driver.find_elements(*TOP_LINKS)
# first_item = (By.CSS_SELECTOR, "a.Hdr_MNCatLink")
for x in range(len(top_links)):
actions = ActionChains(context.driver)
actions.move_to_element(top_links[x]).perform()
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome()
driver.get("https://www.raymourflanigan.com/")
WebDriverWait(driver, 10).until(
ec.visibility_of_all_elements_located((By.XPATH, "//a[@ng-if='category.URL'][text()='Kids']")))
Top_Links = driver.find_elements_by_xpath("//a[@class='Hdr_MNCatLink ng-binding ng-scope']")
for x in range(0, len(Top_Links)):
WebDriverWait(driver, 10).until(
ec.visibility_of_all_elements_located((By.XPATH, "//a[@ng-if='category.URL'][text()='Kids']")))
Top_Links = driver.find_elements_by_xpath("//a[@class='Hdr_MNCatLink ng-binding ng-scope']")
Top_Links[x].click()