Skip to main content
 首页 » 编程设计

python之如何使用 Selenium 来点击某些东西

2025年05月04日14xing901022

我有两个与 Selenium 相关的简单问题。其实我是这个框架的新手。

提出的问题是:

<a href="http://url.com" onclick="somejsfunc();" title="title_text">HERE ARE CHINESE CHARACTERS</a> 

和

<a href="javascript:void(0);" onclick="anotherjsfunc();">HERE ARE ANOTHER CHINESE CHARACTERS</a> 

如何使用 selenium 来点击每个 anchor ?

请注意第一个有关键字“title”,我知道我可以用它来匹配,但不知道如何实现它。我不打算使用那里提供的 CHARACTERS,因为它因项目而异。

第二个,在这种情况下,中文字符是固定的。由于没有其他线索,我想我只能用它来检测并通过 Selenium 发出点击事件。

请指教,谢谢。

请您参考如下方法:

您可以通过多种方式找到这两个链接。选择哪个选项取决于页面上链接的位置、元素属性的唯一性、文本等。

也就是说,有两种相关的方法应该首先尝试:

以下是您应该如何使用它们:

first_link = driver.find_element_by_link_text(u'HERE ARE CHINESE CHARACTERS') 
first_link.click() 
 
second_link = driver.find_element_by_link_text(u'HERE ARE ANOTHER CHINESE CHARACTERS') 
second_link.click() 

其中 driver 是一个 Webdriver 实例,例如:

from selenium import webdriver 
 
driver = webdriver.Firefox() 

如果您不能依赖链接文本,请检查 title 和 onclick 属性并使用以下方法之一:

示例(使用两种方法中的第一种):

first_link = driver.find_element_by_xpath('//a[@title="title_text"]') 
first_link.click() 
 
second_link = driver.find_element_by_xpath('//a[@onclick="anotherjsfunc();"]') 
second_link.click()