selenium+python find_element_by_css_selector方法使用

时间:2021-02-16 05:46:48
  • 1.通过类class获取

比如如下代码

    <h1 class="important">
    This heading is very important.
    </h1>
    <p class="important">
    This paragraph is very important.
    </p>
    <p class="important warning">
    This paragraph is a very important warning.
    </p>

在上面的代码中,两个元素的 class 都指定为 important:第一个标题( h1 元素),第二个段落(p 元素)
1> 获取class值为important的h1标签

find_element_by_css_selector(h1.importane)
2>获取所有class值为important的标签

find_element_by_css_selector(*.importane)或者find_element_by_css_selector(.importane)
3>获取class值为important warning的标签

find_element_by_css_selector(.importane.warning)

  • 2.通过id获取:

首先,ID 选择器前面有一个 # 号 - 也称为棋盘号或井号
<p id="intro">This is a paragraph of introduction.</p>

find_element_by_css_selector(#"intro")

  • 3.属性选择器:

1>.

<a title="W3School Home" href="http://w3school.com.cn">W3School</a>

属性中包含了title和href,

find_element_by_css_selector('a[title][href]')

2>

<a href="http://www.w3school.com.cn/about_us.asp">About W3School</a>

定位属性中href="http://www.w3school.com.cn/about_us.asp"的元素,

find_element_by_css_selector('a[href="http://www.w3school.com.cn/about_us.asp"]')

3>

<a href="http://www.w3school.com.cn/" title="W3School">W3School</a>

通过href和title来定位

find_element_by_css_selector("a[href='http://www.w3school.com.cn/about_us.asp'][title='W3School']")

4>部分属性定位
<h1>可以应用样式:</h1>
<img title="Figure 1" src="/i/figure-1.gif" />
<img title="Figure 2" src="/i/figure-2.gif" /> <hr /> <h1>无法应用样式:</h1>
<img src="/i/figure-1.gif" />
<img src="/i/figure-2.gif" />

定位title中包含有figure的元素:

find_element_by_css_selector("image[title~='figure']")

5>其他
[abc^="def"] 选择 abc 属性值以 "def" 开头的所有元素
[abc$="def"] 选择 abc 属性值以 "def" 结尾的所有元素
[abc*="def"] 选择 abc 属性值中包含子串 "def" 的所有元素
  • 4.后代选择器

<h1>This is a <em>important</em> heading</h1>
<p>This is a <em>important</em> paragraph.</p>

find_element_by_css_selector("h1 em")