当前位置: 首页 > 知识库问答 >
问题:

如何利用硒寻找元素?

吴开宇
2023-03-14

我想从以下html行中选择文本:

<h3 data-reacid ='64'> text to select <h3>

我尝试使用xpath。但由于某些原因,selenium无法通过xpath找到此元素。我想通过“data reactid”属性选择文本。我不知道该怎么做。我在python中使用selenium。

共有1个答案

丘普松
2023-03-14

假设64是一个稳定的值,并且对于该特定元素不会更改,并且属性名称是data reactid(而不是data reactid,看起来像输入错误):

driver.find_element_by_xpath("//h3[@data-reactid = '64']").text

等效的基于CSS选择器的解决方案:

driver.find_element_by_css_selector("h3[data-reactid=64]").text

当然,您需要考虑可能的时间问题和其他情况,例如元素在iframe中。这是特定于您的特定情况的。

 类似资料:
  • Appium 支持 WebDriver 定位策略的子集: 通过 "class" 查找 (例如, UI 组件的类型) 通过 "xpath" 查找 (例如, 一个元素的路径以抽象的方式去表达,具有一定的约束) 你可以查看关于以上的列表,选择器策略 (English)。 Appium 还额外支持部分 Mobile JSON Wire Protocol 的定位策略。 -ios predicate stri

  • 我将Selenium与PHP WebDriver结合使用。我试图单击导航栏中的链接,该链接显示在HTML中,如下所示: 我正在尝试选择元素,然后单击它。但是,当我尝试使用xpath时,如下所示: 或 我得到以下错误: 没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“/*[@showpage=“cards”]”}(会话信息:chrome=70.0.3538.

  • 我试图在页面上找到所有尚未被点击或收藏的元素。 以下是收藏元素的html: 以下是元素未被收藏时的 html 代码: 我试过: 但我得到了以下信息: 给定的选择器按钮-fave unfavorited-button无效或没有生成WebElement。出现以下错误:InvalidSelectorError:不允许复合类名 以下方法有效,但它无法区分收藏元素和不收藏元素:

  • 任何提示都会很有帮助!

  • 大家好,我正试图在网站中找到一个元素,但出于某种原因,它不允许我。该网页是Reddit的登录形式,我尝试输入用户名和密码,但当我列出所有输入时,它只出现在顶部搜索栏中。我想这是因为它就像在另一个“标签”一样,它会弹出到前面,但我不知道如何管理它。提前谢谢。

  • URL:http://bcmprod.brill.com/rsuite-cms/ 我正在尝试从上面的客户端站点自动下载手稿。我在C#中使用selenium phantomjs。 我有用户凭据。但是,组成登录表单的元素(例如用户名、密码)在页面源中不存在,但当您在浏览器中检查这些元素时,这些元素就存在了。 这些是我用来从“检查元素”中定位它们的xpath(ID是动态分配的,这就是我没有使用它们的原因