首页 > 解决方案 > 使用 Selenium Python单击多个元素

问题描述

我是使用 Selenium 的新手,我无法弄清楚如何单击特定元素的所有迭代。为了澄清,我什至不能让它点击一个,因为它是一个下拉列表,但被定义为一个元素。

我正在尝试刮扇子;单击特定游戏时,您会看到一堆主要的标题投注,为了获得我需要单击下拉菜单以获取该信息的信息。还有另一个下拉菜单显示“查看更多”,这是一个类似的问题,但假设这个问题得到解决,我假设我能够解决这个问题。

到目前为止,我已经尝试使用:

find_element_by_class_name()
find_element_by_css_selector() 

我也在元素的意义上使用它们,并尝试循环并单击列表的每个索引,但这不起作用。

如果有任何想法,他们将不胜感激。

仅供参考:我正在使用漂亮的汤来抓取网站的信息,我认为 Selenium 将有助于使当前无法访问的信息可以访问。

此图像显示了我尝试访问的下拉菜单,在本例中为下拉菜单“Win Margin”。HTML 代码显示在它的左侧。

这也表明有多个下拉菜单,其数量根据游戏而有所不同。

标签: pythonseleniumweb-scrapingdropdown

解决方案


您也可以尝试使用 selenium 中的动作链

menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav # submenu1")
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()

来源:这里


推荐阅读