我正在使用Selenium和Python3,我试图选择这个元素。无法选择复合类中的链接,硒,python3,css
<a class="multilineClickable cw-ml-clickable-cell cw-ml-svc-desc" style="">Fw: Text - Additions for Text</a>
这里是更多的代码,因为有这么多希望它更清楚一点,我试图抓住尽可能多的,我可以表明这一点:
<table class="GHN3134DKTE srboardmember-grid" cellpadding="0" cellspacing="0" style="table-layout: fixed; width: 4035px;">
<tbody>
<tbody>
<tr class="GHN3134DDUE cw-ml-row">
<td cellindex="0" class="GHN3134DETE x-grid-td-GHN3134DND">
<td cellindex="1" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="2" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="3" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="4" class="GHN3134DETE">
<td cellindex="5" class="GHN3134DETE">
<td cellindex="6" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="7" class="GHN3134DETE">
<td cellindex="8" class="GHN3134DETE">
<div class="GHN3134DGTE">
<a class="multilineClickable cw-ml-clickable-cell cw-ml-svc-desc" style="">Text that will change</a>
</div>
</td>
<td cellindex="9" class="GHN3134DETE x-grid-td-GHN3134DND">
<td cellindex="10" class="GHN3134DETE x-grid-td-GHN3134DND">
<td cellindex="11" class="GHN3134DETE">
<td cellindex="12" class="GHN3134DETE">
<td cellindex="13" class="GHN3134DETE">
<td cellindex="14" class="GHN3134DETE">
<td cellindex="15" class="GHN3134DETE">
<td cellindex="16" class="GHN3134DETE">
<td cellindex="17" class="GHN3134DETE">
<td cellindex="18" class="GHN3134DETE">
<td cellindex="19" class="GHN3134DETE">
<td cellindex="20" class="GHN3134DETE">
<td cellindex="21" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="22" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="23" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="24" class="GHN3134DETE">
<td cellindex="25" class="GHN3134DETE">
<td cellindex="26" class="GHN3134DETE">
<td cellindex="27" class="GHN3134DETE">
<td cellindex="28" class="GHN3134DETE">
<td cellindex="29" class="GHN3134DETE">
<td cellindex="30" class="GHN3134DETE">
<td cellindex="31" class="GHN3134DETE">
<td cellindex="32" class="GHN3134DETE">
<td cellindex="33" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="34" class="GHN3134DETE x-grid-td-GHN3134DMD">
<td cellindex="35" class="GHN3134DETE">
<td cellindex="36" class="GHN3134DETE">
<td cellindex="37" class="GHN3134DETE">
</tr>
<tr class="GHN3134DDUE GHN3134DEUE cw-ml-row">
<tr class="GHN3134DDUE cw-ml-row">
</tbody>
</table>
</div>
我用的是下面的代码:
driver.find_element_by_class_name("multilineClickable cw-ml-clickable-cell cw-ml-svc-desc"
,并得到此异常:
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: Compound class names not permitted
我试过下面的CSS,因为这是应该如何选择复合类。
driver.find_element_by_css_selector(".multilineClickable.cw-ml-clickable-cell cw-ml-svc-desc")
driver.find_element_by_css_selector(".multilineClickable.cw-ml-clickable-cell.cw-ml-svc-desc")
和得到这个异常
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".multilineClickable.cw-ml-clickable-cell cw-ml-svc-desc"
但我还是让我周围的CSS头,可有人请我如何正确的代码?
我会粘贴所有的代码但它像7页长,所以我已经扑杀了。
我并没有被XPath或部分链接文本或链接文本选择的原因是因为链接文本将改变。
感谢
我不知道这对CSS。试试这个driver.find_element_by_css_selector(“a [class ='multilineClickable cw-ml-clickable-cell cw-ml-svc-desc']”)...你可以使用xpath作为类名 - “// a [@class ='multilineClickable cw-ml-clickable-cell cw-ml-svc-desc']“。 – Grasshopper
感谢您的帮助grassphopper但是仍然有一些问题... 例外: 'selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:找不到元素:{“方法”:“CSS选择器”,”选择器“:”a [class ='multilineClick able cw-ml-clickable-cell cw-ml-svc-desc']“}' 例外: 'selenium.common.exceptions.NoSuchElementException:消息:no such element :无法找到元素:{“method”:“xpath”,“selector”:“// a [@ class ='multilineClickable cw-ml-clickable-cell cw-ml-svc-desc']”}' 希望更新后的代码会更有意义。 –
This worked: 'links = driver.find_elements_by_xpath(“// a [@ class ='multilineClickable cw-ml-clickable-cell cw-ml-svc-desc']”)' 'links [0] .click( )'谢谢grashopper! –