【问题标题】:Selenium Python硒蟒
【发布时间】:2020-09-13 23:20:41
【问题描述】:

我是 selenium Python 的新手,并且一直在使用一些网站练习这些概念。我被以下问题困住了。

  1. 当我打开这个网站 (https://www.shoppersstop.com/) 并点击品牌时,我会弹出一个 cookie:

    We use cookies to give you the best experience and analyze the site use. By continuing your browsing, you accept their use.
    
    Find out more about cookies in Privacy Policy.
    

任何人都可以帮助我如何关闭这个弹出窗口,虽然它没有警报?

  1. 当我将鼠标悬停在 hautecurry 上时,只有我可以看到必须单击的“立即查看”按钮。谁能帮我解决这个问题?

以下是我目前尝试过的代码:

  1. 关闭 cookie 弹出窗口:

    wait = WebDriverWait(driver, 10)
    wait.until(expected_conditions.presence_of_element_located((By.CLASS_NAME, "closecookieExitButton")))        
    driver.find_element_by_class_name("close cookieExitButton").click()
    

我使用了定位元素的存在,也是可点击的元素,但它没有被关闭。

  1. 点击仅在鼠标悬停时可见的“立即查看”按钮:

    action = ActionChains(driver)
    viewNow = driver.find_element_by_xpath("//a[@href='/haute-curry']/span")
    action.move_to_element(viewNow).perform()
    viewNow.click()
    

尽管我的自定义 xpath 是唯一的,但它不会引发任何元素发现异常。

【问题讨论】:

  • 请在块中编写代码以更好地理解您的问题。
  • edit the question 将其限制为具有足够详细信息的特定问题,以确定适当的答案。避免一次问多个不同的问题。请参阅How to Ask 页面以获得澄清此问题的帮助。

标签: python selenium xpath css-selectors webdriverwait


【解决方案1】:

find_element_by_class_name() 仅支持单个类名。

尝试使用 CSS 选择器:

driver.find_elements_by_css_selector(".close .cookieExitButton")

对于您的第二个问题,我在网站上找不到 hautecurry 的东西,但是您首先获取元素然后将其悬停,应该是相反的方式。

【讨论】:

  • 谢谢 Niels,第一个成功了!! :) 对于购物者网站中的第二个 noe,我们点击品牌 driver.get("shoppersstop.com") driver.find_element_by_link_text("BRANDS").click() ,如果我们看到有 HauteCurry 框,我们鼠标的位置只有“立即查看”可见,我的问题是我必须点击这个“立即查看”按钮,该按钮仅在鼠标悬停时可见...您能帮忙吗??
  • 首先找到带有“Haute Curry”文字的LI,然后在LI中找到IMGelement,将IMG悬停,然后找到View Now链接并点击它。
猜你喜欢
  • 2016-05-28
  • 2021-06-28
  • 2021-07-07
  • 2023-02-06
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多