我正在运行一个代码,该代码在文件夹中导航,最后到达目标并通过单击文件下载文件。
例如,要查找我正在使用的文件夹,请执行以下操作:
find_element_by_link_text("Pricing and Catalogs")
问题是文件夹有时写得不完全一样。例如,它有两个空格。
所以我的问题是:是否有可能通过包含特定单词的文本找到元素?例如这样的事情(我知道这是不对的,我只是想让你理解我):
find_element_by_link_text(containing "Pricing" and "Catalogs")
我寻找答案,但没有找到我要找的。如果这是重复的,我道歉,并要求指出正确的方向。
提前谢谢!
编辑:使用find\u element\u by\u partial\u link\u text
无法进行编辑,因为还有其他文件夹的名称中包含定价或目录。
<td class="ms-tv-item ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_2" style="white-space:nowrap;"><a class="ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_0 ms-tv-item ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_1" href="javascript:_spNavigateHierarchy(this,'','TAKES YOU TO SOME PAGE',false,'FolderNode', '')" title="Pricing and Catalogues" id="ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeViewt223" style="border-style:none;font-size:1em;">Pricing and Catalogues</a></td>
要单击包含定价和目录文本的intendecd元素,可以使用以下代码行之一:
>
WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.LINK_TEXT, "Pricing and Catalogues"))).click()
XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[contains(.,'Pricing') and contains(.,'Catalogs')]"))).click()
CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_0.ms-tv-item.ctl00_PlaceHolderLeftNavBar_ctl02_WebTreeView_1[title='Pricing and Catalogues']"))).click()
此外,用节点替换文本有时效果更好:
用法示例:
find_element_by_xpath("//a[contains(node(), 'Pricing') and contains(node(), 'Catalogs')]")
您可以尝试XPath:
例子:
find_element_by_xpath("//a[contains(text(), 'Pricing') and contains(text(), 'Catalogues')]")
编辑您拼错了链接文本。代码有目录。但是超文本标记语言有“目录”。更正xpath。
问题内容: 如果我搜索单个字符串,则效果很好: 但是我可以在下面的示例中有一个 or 语句吗? 问题答案: 在两个函数调用之间说 或使用函数使xpath不区分大小写
如何返回特定日期所在的行号? 类似这样的事情:
问题内容: 那么,如何检查字符串中是否包含特定单词? 这是我的代码: 我遇到了错误。 问题答案: 并不像他们所说的那么复杂,选中此选项您不会后悔。 您可以根据需要更改。
我必须在数据库中找到所有有模式的记录。如果字段中的任何单词以特定字符串结尾。比如“is”: 所以像%is%或%is这样的简单操作是无效的。有没有什么正则表达式可以帮我做这件事?我也可以在PHP中使用LIKE%is%和filtring获得所有记录,但仍然没有任何线索如何。我有结束字符串的解决方案,但没有单词。
如何使用PHP正则表达式检查字符串变量$str是否包含单词“cat”,但不包含单词“dog”。 案例1:$str=“我的宠物:鹦鹉”- 我尝试过这个方法,但我想知道是否有一个正则表达式可以做到这一点
问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 考虑: 假设我有上面的代码,编写该语句的正确方法是什么? 问题答案: 您可以使用该函数来查找另一个字符串中另一个字符串的出现: 注意,of的使用是故意的(既不会也不返回期望的结果);返回大海捞针字符串中针线串起始处的偏移量,或者返回boolean值(如果找不到针)。由于0是有效的偏移量,而0是“假”,