[英]Can't click on an input element HTML using Selenium for Python
[英]Selenium: Can't access an input element using Selenium
代码试验:
import selenium
from selenium import webdriver
PATH = 'C:\Program Files (x86)\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get("https://oncf-voyages.ma")
origin = driver.find_elements_by_xpath('/html/body/div[1]/section/div[1]/div[2]/main/div[1]/div/div/div/div/div[1]/div/div[2]/div[1]/div/div/div[1]/div[1]/div[2]/div/div[1]/div/div/div/div/div[2]/div/input')
origin.send_keys("something")
origin.send_keys(Keys.RETURN)
我使用上面的 python 代码尝试练习 selenium 的一些基本操作,但我无法访问输入子句这是我正在使用的网站: https://www.oncf-voyages.ma/这是一部分网站html代码:
<div class="ant-col SearchForm_col ant-col-xs-24 ant-col-md-24 ant-col-xl-24 ant-col-xxl-24" style="padding-left: 15px; padding-right: 15px;"><label class="SearchForm_label">Ma gare de départ</label><div class="InputWrapper"><div id="origin" class="SelectPicker SelectWidget ant-select ant-select-enabled"><div class="ant-select-selection
ant-select-selection--single" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-controls="b5b887d5-0fcf-488c-dc1a-9dca53b48787" aria-expanded="false" tabindex="0"><div class="ant-select-selection__rendered"><div unselectable="on" class="ant-select-selection__placeholder" style="display: block; user-select: none;">Ma gare de départ</div><div class="ant-select-search ant-select-search--inline" style="display: none;"><div class="ant-select-search__field__wrap"><input id="origin" autocomplete="off" class="ant-select-search__field" value=""><span class="ant-select-search__field__mirror"> </span></div></div></div><span class="ant-select-arrow" unselectable="on" style="user-select: none;"><i aria-label="icon: down" class="anticon anticon-down ant-select-arrow-icon"><svg viewBox="64 64 896 896" focusable="false" class="" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></i></span></div></div></div></div>
<input>
与你试图用xpath定位:
/html/body/div[1]/section/div[1]/div[2]/main/div[1]/div/div/div/div/div[1]/div/div[2]/div[1]/div/div/div[1]/div[1]/div[2]/div/div[1]/div/div/div/div/div[2]/div/input
在其祖先<div>
中,样式属性设置为display: none;
因此 Selenium 将无法与该元素交互,除非它是visible 、 enabled和interactable(clickable) 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.