无法将Python Selenium滚动到视图中
我正在自动化一些web过程,但在使用selenium时遇到了一些奇怪的问题。我有:无法将Python Selenium滚动到视图中,python,selenium,automation,Python,Selenium,Automation,我正在自动化一些web过程,但在使用selenium时遇到了一些奇怪的问题。我有: <div data-field-name="incident_type_ids" style=""><div class="form-group" data-field-name="incident_type_ids"> <label class="col-xs-4 control-label"> Incident Type <i class="fa
<div data-field-name="incident_type_ids" style=""><div class="form-group" data-field-name="incident_type_ids">
<label class="col-xs-4 control-label">
Incident Type
<i class="fa fa-info-circle" rel="tooltip" title="" data-placement="right" data-original-title="The type of incident (On Closure please verify that the original type was valid)"></i>
</label>
<div class="col-xs-8 controls">
<span class="editmode">
<select name="incident_type_ids" multiple="multiple" data-placeholder="Choose Some Types" class="chosen" style="display: none;"><option class=" " value="1007" title="Asset Theft/Loss">
Asset Theft/Loss
<ul class="chosen-results"><li class="active-result" data-option-array-index="0" title="Dog">
Dog
</li><li class="active-result " data-option-array-index="1" title="Cat">
Cat
</li><li class="active-result " data-option-array-index="2" title="Mouse">
Mouse
</li><li class="active-result " data-option-array-index="3" title="Hunting">
Hunting
</li><li class="active-result " data-option-array-index="4" title="Information">
Information
</li><li class="active-result " data-option-array-index="5" title="Intelligence">
Intelligence
</li><li class="active-result " data-option-array-index="6" title="Request">
Request
</li><li class="active-result " data-option-array-index="7" title="Sky">
Sky
</li><li class="active-result " data-option-array-index="8" title="Phishing">
Phishing
</li><li class="active-result " data-option-array-index="9" title="Violation">
Violation
</li><li class="active-result " data-option-array-index="10" title="DDoS">
DDoS
</li><li class="active-result " data-option-array-index="11" title="Engineering">
Engineering
</li><li class="active-result " data-option-array-index="12" title="Intrusion">
Intrusion
</li></ul>
我得到一个错误:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <li class="result-selected"> could not be scrolled into view
selenium.common.exceptions.ElementNotInteractiableException:Message:Element这没有任何意义,因为如果我用下拉菜单中的任何其他值替换钓鱼,它就会工作。那么,为什么它只停留在钓鱼上呢?它甚至不远滚动,如果我用
入侵
替换它,它仍然可以工作错误提示您需要滚动到元素。您可以在selenium中实现这一点
尝试以下选项
1使用javascript
executor滚动
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,"//div[@data-field-name='incident_type_ids']"))).click()
element=WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='chosen-results']//li[contains(.,'Phishing')]")))
driver.execute_script("arguments[0].scrollIntoView()", element)
element.click()
2将selenium属性
位置\u滚动到\u视图中一次
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,"//div[@data-field-name='incident_type_ids']"))).click()
element=WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='chosen-results']//li[contains(.,'Phishing')]")))
element.location_once_scrolled_into_view
element.click()
如果此时出现任何类似不可单击的错误,请使用JS单击该元素
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,"//div[@data-field-name='incident_type_ids']"))).click()
element=WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='chosen-results']//li[contains(.,'Phishing')]")))
element.location_once_scrolled_into_view
driver.execute_script("arguments[0].click();", element)
WebDriverWait(driver,30).until(EC.element_to_be_clickable((By.XPATH,"//div[@data-field-name='incident_type_ids']"))).click()
element=WebDriverWait(driver,30).until(EC.presence_of_element_located((By.XPATH,"//ul[@class='chosen-results']//li[contains(.,'Phishing')]")))
element.location_once_scrolled_into_view
driver.execute_script("arguments[0].click();", element)