首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python上使用selenium的Using ()函数

在Python上使用selenium的Using ()函数
EN

Stack Overflow用户
提问于 2022-10-07 16:38:17
回答 4查看 68关注 0票数 0

我试图在selenium上使用,并尝试执行特定的操作,如果存在特定的文本,然后单击它。

如何在driver.find.element()中使用contains函数。到目前为止我试过:

代码语言:javascript
复制
if driver.find_element(By.LINK_TEXT, contains("Hello World")) == True:
    driver.find_element(By.LINK_TEXT, "Hello World").click() 

以及其中的一些变化。

要素:

代码语言:javascript
复制
<a href="/xyz" target="_blank" class="btn btn-primary inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md shadow-sm text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">"Hello World"</a>
EN

回答 4

Stack Overflow用户

发布于 2022-10-07 16:44:05

您可以使用can ():

代码语言:javascript
复制
driver.find_element(By.XPATH,".//*[contains(.,'Hello World')]")

代码语言:javascript
复制
driver.find_element(By.XPATH,".//*[contains(text(),'Hello World')]")

代码语言:javascript
复制
driver.find_element(By.XPATH,".//*[contains(@id,'Hello World')]")

语法:

代码语言:javascript
复制
//tagName[contains(@attribute_name,'attribute_value')] 

代码语言:javascript
复制
//*[contains(@attribute_name,'attribute_value')]

代码语言:javascript
复制
//*[contains(text(),'value')]
票数 1
EN

Stack Overflow用户

发布于 2022-10-07 16:54:26

有一个By.PARTIAL_LINK_TEXT选择器选项,它可以做链接文本的子字符串。

票数 0
EN

Stack Overflow用户

发布于 2022-10-08 22:33:17

首先,您应该使用driver.find_elements方法,而不是driver.find_element方法,因为如果没有找到这样的元素,driver.find_element将抛出异常,它将不会返回布尔值False。

driver.find_elements将返回匹配web元素的列表。如果找到匹配,它将返回一个非空列表,Python将将其解释为布尔True。否则,如果没有找到匹配项,它将返回一个空字符串,Python将将其解释为布尔False。

正如AbiSaran所提到的,您可以使用driver.find_element(By.XPATH,,如果字符串包含',您可以使用斜杠,如下所示“

代码语言:javascript
复制
if driver.find_elements(By.XPATH, "//a[contains(.,'fellow\'s world')]"):
    driver.find_element(By.XPATH, "//a[contains(.,'fellow\'s world')]").click()

代码语言:javascript
复制
elements = driver.find_elements(By.XPATH, "//a[contains(.,'fellow\'s world')]")
if elements:
    elements[0].click()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73990180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档