我有一个按钮,我试图用硒单击,但是css选择器比按钮多

时间:2019-06-21 21:44:13

标签: python selenium web-scraping

我试图单击https://www.rogers.com/web/totes/wireless/choose-phone上的“详细信息”按钮。但是,似乎我无法单击它。该页面似乎是动态的,因此链接不会更改。

我尝试按链接选择按钮,但只是意识到无论单击该按钮,它都位于同一链接上。 “详细信息”按钮下只有66个元素,而应该只有32个。因此,当我尝试从该元素列表中选择任何元素时,没有任何作用。

phoneDetailsPath = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.select-font.ng-scope')))
phoneDetailsPath[num].click()

我希望能够将所有“详细信息”路径存储到列表中,然后单击该索引处的按钮。

1 个答案:

答案 0 :(得分:1)

以防您可以使用选择器

[ng-click*=gotoDeviceConfigure]

自动化专家不喜欢使用javascript,但是您可以按以下步骤执行点击操作:

#first item
driver.execute_script('document.querySelector("[ng-click*=gotoDeviceConfigure]").click();')

# using indices
driver.execute_script('document.querySelectorAll("[ng-click*=gotoDeviceConfigure]")[1].click();')

但是,您需要将后面的元素滚动到视图中,并且需要处理有关已注册的弹出式窗口,除非已经登录(我想)。