如何使用 python 和 selenium 将文本发送到具有隐藏类型属性的输入元素
How to send text to an input element with type attribute as hidden using python and selenium
我是 python 和 selenium 的新手。我想点击 get_likes_button
,我需要发送值 = 1803345990687013485。
这是HTML
<form action="" method="post" accept-charset="utf-8"><span style="font-size: 14px;">
<i class="fa fa-heart" style="color: #F12938;"></i> 20 </span>
<input type="hidden" value="1803345990687013485" name="id">
<button class="btn btn-primary pull-right" type="submit" name="submit"
id="get_likes_button"> Get Likes </button> </form></b>
这是代码
driver.find_element_by_xpath("//input[@name='id']").send_key('1803345990687013485')
driver.find_element_by_id('get_likes_button').submit()
我收到以下消息
Exception: Message: Element not visible.
试试下面的代码片段。希望对您有所帮助。
WebDriver driver = new FirefoxDriver();
driver.navigate().to(URL);
JavascriptExecutor javascriptExecuter = (JavascriptExecutor)driver;
javascriptExecuter.executeScript("document.getElementsByName('id')[0].value='452525252525';");
driver.findElement(By.id("get_likes_button")).submit();
要点击 获得赞 按钮,您可以使用此代码:
get_likes = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.ID, "get_likes_button")))
之后,如果输入类型从 type='hidden'
更改,您可以与输入字段交互:
input_field = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.NAME, "id")))
看到这样的HTML很奇怪:
<input name="id">
顺便说一句,希望这会有所帮助。
这个错误信息...
Exception: Message: Element not visible.
...表示所需元素不可见。
主要问题是 <input>
标签有一个属性 type="hidden"
。
将字符序列 1803345990687013485发送到输入字段并调用click()
在按钮上你可以使用以下解决方案:
driver.execute_script("document.getElementsByName('id')[0].setAttribute('type','text')")
driver.find_element_by_xpath("//input[@name='id']").send_key('1803345990687013485')
driver.find_element_by_xpath("//button[@class='btn btn-primary pull-right' and @id='get_likes_button']").click()
我是 python 和 selenium 的新手。我想点击 get_likes_button
,我需要发送值 = 1803345990687013485。
这是HTML
<form action="" method="post" accept-charset="utf-8"><span style="font-size: 14px;">
<i class="fa fa-heart" style="color: #F12938;"></i> 20 </span>
<input type="hidden" value="1803345990687013485" name="id">
<button class="btn btn-primary pull-right" type="submit" name="submit"
id="get_likes_button"> Get Likes </button> </form></b>
这是代码
driver.find_element_by_xpath("//input[@name='id']").send_key('1803345990687013485')
driver.find_element_by_id('get_likes_button').submit()
我收到以下消息
Exception: Message: Element not visible.
试试下面的代码片段。希望对您有所帮助。
WebDriver driver = new FirefoxDriver();
driver.navigate().to(URL);
JavascriptExecutor javascriptExecuter = (JavascriptExecutor)driver;
javascriptExecuter.executeScript("document.getElementsByName('id')[0].value='452525252525';");
driver.findElement(By.id("get_likes_button")).submit();
要点击 获得赞 按钮,您可以使用此代码:
get_likes = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.ID, "get_likes_button")))
之后,如果输入类型从 type='hidden'
更改,您可以与输入字段交互:
input_field = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.NAME, "id")))
看到这样的HTML很奇怪:
<input name="id">
顺便说一句,希望这会有所帮助。
这个错误信息...
Exception: Message: Element not visible.
...表示所需元素不可见。
主要问题是 <input>
标签有一个属性 type="hidden"
。
将字符序列 1803345990687013485发送到输入字段并调用click()
在按钮上你可以使用以下解决方案:
driver.execute_script("document.getElementsByName('id')[0].setAttribute('type','text')")
driver.find_element_by_xpath("//input[@name='id']").send_key('1803345990687013485')
driver.find_element_by_xpath("//button[@class='btn btn-primary pull-right' and @id='get_likes_button']").click()