单击没有ID的按钮

2024-10-01 02:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个按钮:

<button type="button" class="Buttonstyled__StyledButton-sc-140xkaw-1 bbPePk css-1n4k82t">Zum Warenkorb</button>

我想点击这个按钮,但我没有id还有其他方法吗

我正在学习硒,也许有人能回答我这个问题,这将是非常好的。谢谢大家!


Tags: 方法idtypebutton按钮cssclasssc
3条回答

您可以单击使用类名,如下所示:

  1. 挑选

    button = driver.find_element_by_class_name('Buttonstyled__StyledButton-sc-140xkaw-1 bbPePk css-1n4k82t')
    
  2. 执行:

button.click()

在本例中,“driver”是使用Firefox Web驱动程序的selenium实例

Selenium文档可能很有用:https://selenium-python.readthedocs.io/locating-elements.html

Selenium不仅可以根据元素的id值来定位元素。
定位器可以基于任何唯一的标记名、任何元素属性以及与其他元素的任何关系。
在这种情况下,元素似乎包含唯一的文本。
如果是这样,您可以根据该文本通过XPath找到它,如下所示:

driver.find_elements_by_xpath('//button[text()="Zum Warenkorb"]').click()

您还应该在访问该元素之前添加一些等待/延迟,以便在单击该元素之前完全加载该元素

实际上,您可以查找button类来找到它(但它返回一个包含该类的所有元素的列表,因为类不是唯一的):

driver.find_elements_by_css_selector('.theClass')

详细信息可在此处https://www.geeksforgeeks.org/find_elements_by_css_selector-driver-method-selenium-python/找到,但假设它是您可以使用的页面中的第一个:

driver.find_elements_by_css_selector('.theClass')[0]

在您的情况下,它将是:

driver.find_elements_by_css_selector(".Buttonstyled__StyledButton-sc-140xkaw-1")[0]

假设它是页面中的第一个。如果它不是该类的第一个,那么您必须在方法返回的列表中选择正确的一个

相关问题 更多 >